var TAMap=new Class({options:{iconOptions:{iconPath:"/img2/maps/icons/",name:"",iconPrefix:"pin",iconHover:"Over",iconExt:".gif",iconWidth:19,iconHeight:23,iconAnchorX:4,iconAnchorY:22,shadowPath:null,shadow:"shadowSmall.png",shadowWidth:21,shadowHeight:25,numbered:false},homeIconOps:{name:"CurrentHotel",iconWidth:23,iconHeight:27,iconAnchorX:4,iconAnchorY:26,shadow:"shadowLarge.png",shadowWidth:25,shadowHeight:29},homeIcon:true,homeMinZoom:7,homeMaxZoom:17,homeOps:{},minZoom:10,maxZoom:17,origLat:false,origLng:false,zoom:false,hoverOffX:0,hoverOffY:0,padLeft:0,padTop:0,servlet:"",smallMap:false,typeControl:true,scaleControl:true,panControl:true,pinCount:25,staticMap:false,enableInfoWindows:true},infoWindowsEnabled:function(){return this.options.enableInfoWindows},initialize:function(d,b){this.setOptions(b);this.src=d;this.icons={};this.markers={};this.gmap2=new GMap2(this.src);if(this.options.panControl){if(this.options.smallMap){this.smallPanControl=new GSmallMapControl();this.gmap2.addControl(this.smallPanControl)}else{this.largePanControl=new GLargeMapControl();this.gmap2.addControl(this.largePanControl)}}if(this.options.typeControl){this.typeControl=new GMapTypeControl();this.gmap2.addControl(this.typeControl)}if(this.options.scaleControl){this.scaleControl=new GScaleControl();this.gmap2.addControl(this.scaleControl)}if(this.options.origLat&&this.options.origLng){this.gmap2.setCenter(new GLatLng(this.options.origLat,this.options.origLng))}if(this.options.zoom){this.gmap2.setZoom(this.options.zoom)}this.gmap2.savePosition();if(this.options.homeIcon){this.addIcon("home",this.options.homeIconOps);if(this.options.origLat&&this.options.origLng){this.homeMarker=this.createMarker($merge({lat:this.options.origLat,lng:this.options.origLng},this.options.homeOps),"home",{zIndexProcess:function(){return 65535}});this.gmap2.addOverlay(this.homeMarker)}}if(this.options.altIcons){this.addIcon("alt",this.options.altIconOps);this.altMarkers=new Array();for(var c=0;c<this.options.altLocs.length;c++){var a=this.createMarker(this.options.altLocs[c],"alt",{zIndexProcess:function(){return 65535}});this.altMarkers.push(a);this.gmap2.addOverlay(a)}}if(this.options.staticMap){this.gmap2.disableDragging();this.gmap2.disableDoubleClickZoom();this.eventsAdded=false}else{this.moveStartHandler=this.beforeMove.bind(this);this.moveEndHandler=this.onMove.bind(this);this.dragEndHandler=this.onDrag.bind(this);this.zoomEndHandler=this.onZoom.bind(this);this.gel_moveStart=GEvent.addListener(this.gmap2,"movestart",this.moveStartHandler);this.gel_moveEnd=GEvent.addListener(this.gmap2,"moveend",this.moveEndHandler);this.gel_dragEnd=GEvent.addListener(this.gmap2,"dragend",this.dragEndHandler);this.gel_zoomEnd=GEvent.addListener(this.gmap2,"zoomend",this.zoomEndHandler);this.eventsAdded=true}},recenter:function(){this.gmap2.panTo(new GLatLng(this.options.origLat,this.options.origLng))},reset:function(){this.move(this.options.origLat,this.options.origLng,this.options.zoom);this.fireEvent("onReset")},_move:function(c,a,b){this.gmap2.setCenter(new GLatLng(c,a));this.gmap2.setZoom(b);if(this.homeMarker){this.gmap2.addOverlay(this.homeMarker)}},move:function(c,a,b){this.suppressEvents=true;this._move(c,a,b);this.suppressEvents=false},mapCenter:function(){if(this.options.padLeft==0&&this.options.padTop==0){return this.gmap2.getCenter()}return this.gmap2.fromContainerPixelToLatLng(new GPoint(Math.round(this.mapWidth()/2)+this.options.padLeft,Math.round(this.mapHeight()/2)+this.options.padTop))},mapBounds:function(){return this.gmap2.getBounds()},mapWidth:function(){return this.gmap2.getSize().width-this.options.padLeft},mapHeight:function(){return this.gmap2.getSize().height-this.options.padTop},getZoom:function(){return this.gmap2.getZoom()},setHome:function(a){this.removeHome();this.homeMarker=this.createMarker(a,"home",{zIndexProcess:function(){return 65535}});this.gmap2.addOverlay(this.homeMarker);this.gmap2.setCenter(new GLatLng(a.lat,a.lng));this.fireEvent("onMove",false);return this},removeHome:function(){if(this.homeMarker){this.gmap2.removeOverlay(this.homeMarker);this.homeMarker=null}},addIcon:function(c,a){a=$merge(this.options.iconOptions,a);if(a.numbered){this.icons[c]={};for(i=1;i<=this.options.pinCount;i++){var b=new GIcon();b.shadow=cdnHost+(a.shadowPath||a.iconPath)+a.shadow;b.iconSize=new GSize(a.iconWidth,a.iconHeight);b.shadowSize=new GSize(a.shadowWidth,a.shadowHeight);b.iconAnchor=new GPoint(a.iconAnchorX,a.iconAnchorY);b.infoWindowAnchor=b.iconAnchor;b.image=cdnHost+a.iconPath+a.iconPrefix+a.name+i.toString()+a.iconExt;this.icons[c][i]={icon:b,normal:b.image,hover:cdnHost+a.iconPath+a.iconPrefix+a.name+i.toString()+a.iconHover+a.iconExt,num:i}}}else{var b=new GIcon();b.shadow=cdnHost+(a.shadowPath||a.iconPath)+a.shadow;b.iconSize=new GSize(a.iconWidth,a.iconHeight);b.shadowSize=new GSize(a.shadowWidth,a.shadowHeight);b.iconAnchor=new GPoint(a.iconAnchorX,a.iconAnchorY);b.infoWindowAnchor=b.iconAnchor;b.image=cdnHost+a.iconPath+a.iconPrefix+a.name+a.iconExt;this.icons[c]={icon:b,normal:b.image,hover:cdnHost+a.iconPath+a.iconPrefix+a.name+a.iconHover+a.iconExt}}return this},createMarker:function(g,f,d){var h=this.icons[f];if(!h.icon){h=this.icons[f][g.num];var c=this.options.pinCount;d=$merge(d,{zIndexProcess:function(){return c-h.num}})}else{if(f.indexOf("sponsor")>-1){d=$merge(d,{zIndexProcess:function(){return 1}})}}var a=new GLatLng(g.lat,g.lng);var b=new GMarker(a,$merge({icon:h.icon},d));b.type=f;b.ops=g;GEvent.addListener(b,"mouseover",this.markerOver.bind(this,[b,h]));GEvent.addListener(b,"mouseout",this.markerOut.bind(this,[b,h]));if(g.url){GEvent.addListener(b,"click",this.markerClick.bind(this,b))}return b},markerInPixels:function(a){return this.gmap2.fromLatLngToContainerPixel(a.getLatLng())},markerOver:function(a,b){a.setImage(b.hover);if(a.ops.customHover&&!(a.hoverDiv&&a.hoverDiv.inDocument())){a.hoverPending=this.customHover.delay(250,this,a)}if(a.unhoverPending){clearTimeout(a.unhoverPending)}return this},markerOut:function(a,b){a.setImage(b.normal);if(a.hoverPending){clearTimeout(a.hoverPending);a.hoverPending=false}else{if(a.hoverDiv){this.customHoverOut(a)}}return this},markerClick:function(a){if(a.ops.pid){Cookie.set("NPID",a.ops.pid,{domain:cookieDomain,time:5})}if(a.ops.customHover.callback){this.customHoverOff(a);window[a.ops.customHover.callback](a.ops.url)}else{if(a.ops.url){document.location=a.ops.url}}},customHover:function(a){a.hoverPending=false;if(a.hoverDiv){a.hoverDiv.setStyles({left:"-999em",top:"-999em"})}else{a.hoverDiv=new Element("div",{"class":"js_hvrNfo",styles:{position:"absolute",left:"-999em",top:"-999em"},events:{mouseenter:this.customHoverOver.bind(this,a),mouseleave:this.customHoverOut.bind(this,a)}});if(a.ops.customHover.title){var c=a.ops.customHover.titleUrl?{"class":"hvrTtl",href:a.ops.customHover.titleUrl}:{"class":"hvrTtl noLink"};if(a.ops.customHover.target){c.target=a.ops.customHover.target}a.hoverDiv.adopt(new Element("a",c).setText(a.ops.customHover.title).addEvent("click",this.customHoverTitleClick.bindWithEvent(this,a)));if(a.ops.customHover.contents){a.hoverDiv.adopt(new Element("div",{"class":"hvrData"}).setHTML(a.ops.customHover.contents))}}if(a.ops.customHover.url){var b=new Element("div",{"class":"hvrData"}).setText(JS_loading);a.hoverDiv.adopt(b);new Ajax(a.ops.customHover.url,{method:"get",onSuccess:(function(f,d){this.customHoverLoad.apply(this,[f,a,b])}).bind(this)}).request()}}a.hoverDiv.injectInside(this.src);return this.customHoverPosition(a).hoverDiv},customHoverPosition:function(b){var h=this.markerInPixels(b);var a=Math.max(5,h.x+this.options.hoverOffX);var f=h.y+this.options.hoverOffY;var g=b.hoverDiv.getSize().size;var d=this.gmap2.getSize();var c=a+g.x+5-d.width;if(c>0){a-=c}if(f+$pick(b.ops.heightEstimate,g.y)+5>d.height){f=d.height-h.y+$pick(b.getIcon().iconAnchor.y,0);b.hoverDiv.setStyles("position:absolute; left:"+a+"px; bottom:"+f+"px;")}else{b.hoverDiv.setStyles({left:a,top:f})}return b},customHoverLoad:function(b,a,c){$(c).empty().setHTML(b);this.customHoverPosition(a);if(typeof(behavior)!="undefined"){behavior.apply(c)}return this},customHoverTitleClick:function(b,a){if(a.ops.titlePID){Cookie.set("NPID",a.ops.titlePID,{domain:cookieDomain,time:5})}if(a.ops.customHover.callback){new Event(b).stop();this.customHoverOff(a);window[a.ops.customHover.callback](a.hoverDiv.getElement("a").href)}},customHoverOver:function(a){if(a.unhoverPending){clearTimeout(a.unhoverPending)}},customHoverOut:function(a){if(a.hoverDiv.inDocument()){a.unhoverPending=this.customHoverOff.delay(150,this,a)}},customHoverOff:function(a){a.hoverDiv.remove()},addMarker:function(c,b,d){var a=this.createMarker(c,b);if(!a){return}this.markers[b]=this.markers[b]||{visible:true,markers:[]};this.markers[b].markers.push(a);if(!d){this.gmap2.addOverlay(a)}return a},addMarkers:function(c,b,a){a=a||{};c=c.map(function(d){return this.addMarker($merge(a,d),b,this.markers[b]&&!this.markers[b].visible)},this);return this},replaceMarkers:function(c,b,a){if(!$defined(this.markers[b])){return this.addMarkers(c,b,a)}a=a||{};var f=this.markers[b].markers.filter(function(g){return !c.some(function(h){return h.lat==g.ops.lat&&h.lng==g.ops.lng&&(!g.ops.num||g.ops.num==h.num)},this)},this);f.each(function(g){this.gmap2.removeOverlay(g);this.markers[b].markers.remove(g)},this);var d=c.filter(function(g){return !this.markers[b].markers.some(function(h){return g.lat==h.ops.lat&&g.lng==h.ops.lng},this)},this);return this.addMarkers(d,b,a)},clear:function(){for(var a in this.markers){this.markers[a].markers.each(function(b){this.gmap2.removeOverlay(b)},this);this.markers[a].markers=[]}for(var a in this.sMarkers){this.sMarkers[a].markers.each(function(b){this.gmap2.removeOverlay(b.toGOverlay())},this);this.sMarkers[a].markers=[]}return this},beforeMove:function(){if(this.suppressEvents){return}this.gmap2.savePosition();this.previousZoom=this.gmap2.getZoom();this.fireEvent("beforeMove")},onMove:function(){if(this.suppressEvents){return}this.fireEvent("onMove",[this.previousZoom!=this.gmap2.getZoom()])},onDrag:function(){if(this.suppressEvents){return}this.fireEvent("onDrag")},onZoom:function(c,a){if(c>=this.options.minZoom&&a<this.options.minZoom){for(var b in this.markers){this.markers[b].markers.each(function(d){this.gmap2.removeOverlay(d)},this)}if(!this.suppressEvents){this.fireEvent("homePinOnly")}}else{if(c<this.options.minZoom&&a>=this.options.minZoom){for(var b in this.markers){this.markers[b].markers.each(function(d){this.gmap2.addOverlay(d)},this)}if(!this.suppressEvents){this.fireEvent("allPins")}}}if(c>=this.options.homeMinZoom&&a<this.options.homeMinZoom){if(this.homeMarker){this.gmap2.removeOverlay(this.homeMarker)}if(!this.suppressEvents){this.fireEvent("noPins")}}else{if(c<this.options.homeMinZoom&&a>=this.options.homeMinZoom){if(this.homeMarker){this.gmap2.addOverlay(this.homeMarker)}if(!this.suppressEvents){this.fireEvent("homePinOnly")}}}if(!this.suppressEvents){this.fireEvent("onZoom",[c,a])}return this},getDataForType:function(a){if(!$defined(this.markers[a])){return[]}var b=[];this.markers[a].markers.each(function(c){b.push(c.ops)},this);return b},hideType:function(a){if(!this.markers[a]){this.markers[a]={visible:false,markers:[]};return this}if(this.markers[a]&&!this.markers[a].visible){return this}this.markers[a].markers.each(function(b){this.gmap2.removeOverlay(b)},this);this.markers[a].visible=false;return this},showType:function(a){if(this.markers[a]&&this.markers[a].visible){return}this.markers[a].markers.each(function(b){this.gmap2.addOverlay(b)},this);this.markers[a].visible=true;return this},showOrHideType:function(a,b){if(!$defined(this.markers[b])){return}return a?this.showType(b):this.hideType(b)},toggleType:function(a){if(!$defined(this.markers[a])){return}return this.markers[a].visible?this.hideType(a):this.showType(a)},getServlet:function(){return this.options.servlet},countType:function(a){if(!$defined(this.markers[a])){return 0}return this.markers[a].markers.length}});TAMap.implement(new Options,new Events);ta.support.Size=new Class({initialize:function(a,b){this.width=a;this.height=b||a}});ta.util.URL={parse:function(c){if(/^(\w+):(.*)/.test(c)){c=RegExp.$2;switch(RegExp.$1){case"DOM":elmt=document.getElement(c);c=(elmt&&elmt.href)?elmt.href:"#";break;case"GMapsLC":if(c.length==0){break}tmp=c.split(",");ops={from:pageServlet,Action:tmp.shift()};tmp.each(function(d){if(/^g(\d+)$/.test(d)){ops.g=RegExp.$1}else{if("ext"==d){ops.ext="y"}else{if(/^(.*)=(.*)$/.test(d)){ops[RegExp.$1]=RegExp.$2}else{ops[d]=""}}}});c="/GMapsLocationController?"+Object.toQueryString(ops);break;case"ABS":var a=(window.location.port=="80"||window.location.port=="")?"":(":"+window.location.port);if(c.charAt(0)!="/"){c="/"+c}c=window.location.protocol+"//"+window.location.hostname+a+c;break;case"ABSPAGE":var a=(window.location.port=="80"||window.location.port=="")?"":(":"+window.location.port);if(c.charAt(0)!="/"){c="/"+c}c=window.location.protocol+"//"+window.location.hostname+a+c;if(c.indexOf(".html")==-1){c+=".html"}break;case"REL":var b=window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"));if(/\/$/.test(window.location.pathname)){b=window.location.pathname}var a=window.location.port=="80"?"":(":"+window.location.port);if(c.charAt(0)!="/"){c="/"+c}c=window.location.protocol+"//"+window.location.hostname+a+b+c;break;default:c=RegExp.$1+":"+c;break}}return c}};ta.maps.Overlay=new Class({options:{},initialize:function(b){this.setOptions(b);var a=function(){};a.prototype=new GOverlay();a.prototype.initialize=this.addedToMap.bind(this);a.prototype.remove=this.removedFromMap.bind(this);a.prototype.copy=this.copy.bind(this);a.prototype.redraw=this.redraw.bind(this);this.overlay=new a},toGOverlay:function(){return this.overlay},addedToMap:function(a){this.map=a},removedFromMap:function(){},copy:function(){return new ta.maps.Overlay(this.options)},redraw:function(a){}});ta.maps.Overlay.implement(new Options);ta.maps.Marker=ta.maps.Overlay.extend({options:{image:CDNHOST+"/img2/maps/icons/sprite-v11.png",numberOffset:0,numberShift:0,iconOffset:8,pinOffset:64,shadowOffset:125,pinSize:new ta.support.Size(23,27),shadowSize:new ta.support.Size(23,27),numberSize:new ta.support.Size(6,9),numberPosition:4,pinIndex:0,numberIndex:false,shadowIndex:0,hoverIndex:1,iconIndex:0,iconHoverIndex:0,iconOffsetX:0,iconOffsetY:0,shadowOffsetX:2,shadowOffsetY:2,anchorX:-4,anchorY:-27,url:null,infoWindowDelay:250,infoWindowOffsetX:0,infoWindowOffsetY:0,supportsIcon:true,supportsHoverIcon:false,markType:"hotel"},typeMap:{hotel:0,coffee:1,rail:2,copy:3,shipping:4,conventionCenters:5,airports:6,attraction:7,restaurant:8,bw:9,BEST_WESTERN:9,HAMPTON_INN:9,location:25,rental:30},locationPinZIndex:4999,onHoverPinZIndex:5000,initialize:function(b,c,a){this.parent(a);this.tamap=b;this.latlng=c},updateOptions:function(a){if(a.pinIndex){this.options.pinIndex=a.pinIndex;this.setBackground(this.marker,this.options.pinIndex*(this.options.pinSize.width+1),this.options.pinOffset)}if(a.num){this.setNumberIndex(a.num)}},getAnchor:function(){return this.map.fromLatLngToDivPixel(this.latlng)},getZIndex:function(){if(this.options.numberIndex&&this.options.numberIndex>0){return 100-this.options.numberIndex}else{if(this.typeMap[this.options.markType]==25){return this.locationPinZIndex}}var j=this.map.getBounds();var f=j.getNorthEast().lat();var d=j.getSouthWest().lat();var c=f-d;var h=f-this.latlng.lat();var g=this.typeMap[this.options.markType];return(g*100)+Math.round(h/c*100)},addedToMap:function(b){this.parent(b);if(this.infoWindow){this.infoWindow.map=this.map}var a=this.map.fromLatLngToDivPixel(this.latlng);this.zindex=this.getZIndex();this.marker=new Element("div",{styles:{position:"absolute",left:a.x-this.options.anchorX,top:a.y-this.options.anchorY,width:this.options.pinSize.width,height:this.options.pinSize.height,zIndex:this.zindex},events:{mouseenter:this.hoverOn.bindWithEvent(this),mouseleave:this.hoverOff.bindWithEvent(this),mousedown:this.mouseDown.bindWithEvent(this)}});if(this.options.customHover.url&&this.options.customHover.url.indexOf("sponsorInfo")>0){this.marker.addClass("forceHvr")}if(this.options.locId){this.marker.id="mm"+this.options.locId}if(this.options.url){this.options.url=ta.util.URL.parse(this.options.url)}if(this.options.url||this.tamap.markerActivatesOnClick()){this.clickFn=this.mouseClick.bindWithEvent(this);this.marker.addEvent("click",this.clickFn)}this.iconSize=this.options.iconSize||this.options.pinSize;this.icon=new Element("div",{styles:{position:"absolute",left:this.options.iconOffsetX,top:this.options.iconOffsetY,width:this.iconSize.width,height:this.iconSize.height,lineHeight:2,overflow:"hidden"}});this.hoverIcon=new Element("div",{styles:{position:"absolute",left:this.options.iconOffsetX,top:this.options.iconOffsetY,width:this.iconSize.width,height:this.iconSize.height,lineHeight:2,overflow:"hidden"}});if(this.options.supportsIcon){this.icon.inject(this.marker)}if(this.options.supportsHoverIcon){this.hoverIcon.inject(this.marker)}this.shadow=new Element("div",{styles:{position:"absolute",left:a.x+this.options.shadowOffsetX,top:a.y-this.options.anchorY+this.options.shadowOffsetY,width:this.options.pinSize.width,height:this.options.pinSize.height,zIndex:this.zindex}});this.setBackground(this.marker,this.options.pinIndex*(this.options.pinSize.width+1),this.options.pinOffset);this.setBackground(this.shadow,this.options.shadowIndex*(this.options.shadowSize.width+1),this.options.shadowOffset);if($chk(this.options.numberIndex)){this.updateNumbering()}else{if(this.options.supportsIcon){this.setBackground(this.icon,this.options.iconIndex*(this.iconSize.width+1),this.options.iconOffset)}}this.map.getPane(G_MAP_MARKER_SHADOW_PANE).appendChild(this.shadow);this.map.getPane(G_MAP_MARKER_PANE).appendChild(this.marker);this.has_been_added=true},changeType:function(a){var c=this.options.supportsIcon;ops=new Hash().extend(a);ops.remove("pinIndex");this.setOptions(ops.obj);var b=this.map.fromLatLngToDivPixel(this.latlng);this.marker.setStyles({left:b.x-this.options.anchorX,top:b.y-this.options.anchorY,width:this.options.pinSize.width,height:this.options.pinSize.height});this.shadow.setStyles({left:b.x+this.options.shadowOffsetX,top:b.y-this.options.anchorY+this.options.shadowOffsetY,width:this.options.pinSize.width,height:this.options.pinSize.height});this.setBackground(this.marker,this.options.pinIndex*(this.options.pinSize.width+1),this.options.pinOffset);this.setBackground(this.shadow,this.options.shadowIndex*(this.options.shadowSize.width+1),this.options.shadowOffset);if(c&&!this.options.supportsIcon){this.icon.remove();if(this.digit2){this.digit2.remove()}if(this.digit3){this.digit3.remove()}}else{if(!c&&this.options.supportsIcon){this.icon.inject(this.marker);if(this.digit2){this.digit2.inject(this.marker)}if(this.digit3){this.digit3.inject(this.marker)}this.updateNumbering()}}return this},updateNumbering:function(){if(!this.options.supportsIcon){return}if(!this.options.numberIndex){return}var b=this.options.numberIndex;var d,c;this.icon.setStyles({top:this.options.numberPosition,left:(this.options.pinSize.width-this.options.numberSize.width)/2,width:this.options.numberSize.width,height:this.options.numberSize.height,lineHeight:2,overflow:"hidden",background:"transparent url("+this.options.image+") no-repeat -"+(b*this.options.numberSize.width+this.options.numberShift)+"px -"+this.options.numberOffset+"px"});if(this.options.numberIndex>9){b=Math.floor(b/10);d=this.options.numberIndex%10;if(!this.digit2){this.digit2=new Element("div",{styles:{position:"absolute",top:this.options.numberPosition,width:this.options.numberSize.width,height:this.options.numberSize.height,lineHeight:2,overflow:"hidden"}}).inject(this.marker)}var a=(this.options.pinSize.width-this.options.numberSize.width*2-1)/2;this.icon.setStyles({left:a,background:"transparent url("+this.options.image+") no-repeat -"+(b*this.options.numberSize.width+this.options.numberShift)+"px -"+this.options.numberOffset+"px"});this.digit2.setStyles({left:a+this.options.numberSize.width+1,background:"transparent url("+this.options.image+") no-repeat -"+(d*this.options.numberSize.width+this.options.numberShift)+"px -"+this.options.numberOffset+"px"})}else{if(this.digit2){this.digit2.remove();this.digit2=null}}if(this.options.numberIndex>99){d=b%10;b=Math.floor(b/10);c=this.options.numberIndex%10;if(!this.digit3){this.digit3=new Element("div",{styles:{position:"absolute",top:this.options.numberPosition,width:this.options.numberSize.width,height:this.options.numberSize.height,lineHeight:2,overflow:"hidden"}}).inject(this.marker)}var f=(this.options.pinSize.width-this.options.numberSize.width*3)/2;this.icon.setStyles({left:f,background:"transparent url("+this.options.image+") no-repeat -"+(b*this.options.numberSize.width+this.options.numberShift)+"px -"+this.options.numberOffset+"px"});this.digit2.setStyles({left:f+this.options.numberSize.width,background:"transparent url("+this.options.image+") no-repeat -"+(d*this.options.numberSize.width+this.options.numberShift)+"px -"+this.options.numberOffset+"px"});this.digit3.setStyles({left:f+this.options.numberSize.width*2,background:"transparent url("+this.options.image+") no-repeat -"+(c*this.options.numberSize.width+this.options.numberShift)+"px -"+this.options.numberOffset+"px"})}else{if(this.digit3){this.digit3.remove();this.digit3=null}}},setBackground:function(a,c,b){a.setStyle("background","transparent url("+this.options.image+") no-repeat -"+c+"px -"+b+"px")},removedFromMap:function(){this.marker.remove();this.shadow.remove();this.has_been_added=false},copy:function(){return new ta.maps.Marker(this.tamap,this.latlng,this.options)},redraw:function(a){if(!a||!this.marker){return}var b=this.map.fromLatLngToDivPixel(this.latlng);this.marker.setStyles({left:b.x-this.options.anchorX,top:b.y-this.options.anchorY});this.shadow.setStyles({left:b.x-this.options.anchorX+this.options.shadowOffsetX,top:b.y-this.options.anchorY+this.options.shadowOffsetY})},setNumberIndex:function(a){this.options.numberIndex=a;if(this.icon){this.updateNumbering();this.zindex=this.getZIndex();this.marker.setStyle("zIndex",this.zindex);this.shadow.setStyle("zIndex",this.zindex)}return this},hoverOn:function(a){this.marker.setStyles({cursor:"pointer",zIndex:this.onHoverPinZIndex});if(!this.tamap.markerEventsEnabled()){return}if(this.options.hoverIndex>=0){this.setBackground(this.marker,this.options.hoverIndex*(this.options.pinSize.width+1),this.options.pinOffset)}if(this.options.supportsHoverIcon){this.hoverIcon.inject(this.marker);this.setBackground(this.hoverIcon,this.options.iconHoverIndex*(this.iconSize.width+1),this.options.iconOffset)}this.numberShift=this.options.numberShift;this.options.numberShift=0;this.updateNumbering();if(!this.tamap.markerActivatesOnClick()||a.target.hasClass("forceHvr")){this.openInfoWindow(a)}},openInfoWindow:function(a){if(this.infoWindow&&this.tamap.infoWindowsEnabled()){this.infoWindow.onMarker(a)}},hoverOff:function(a){this.marker.setStyles({cursor:"default",zIndex:this.zindex});if(!this.tamap.markerEventsEnabled()){return}if(this.options.hoverIndex>=0){this.setBackground(this.marker,this.options.pinIndex*(this.options.pinSize.width+1),this.options.pinOffset)}if(this.options.supportsHoverIcon){this.icon.inject(this.marker);this.setBackground(this.icon,this.options.iconIndex*(this.iconSize.width+1),this.options.iconOffset)}this.options.numberShift=this.numberShift;this.updateNumbering();if(!this.tamap.markerActivatesOnClick()||a.target.hasClass("forceHvr")){this.closeInfoWindow(a)}},closeInfoWindow:function(a){if(this.infoWindow&&this.tamap.infoWindowsEnabled()){this.infoWindow.offMarker(a)}},mouseClick:function(e){if(this.tamap.markerActivatesOnClick()){this.openInfoWindow(e)}else{if(this.tamap.markerActiviatesOnBoth()){if(!this.tamap.markerEventsEnabled()){return}if(this.options.callback){try{eval(this.options.url)}catch(err){}return}if(this.options.url){window.location=this.options.url}}else{if(!this.tamap.markerEventsEnabled()){return}if(this.options.url){window.location=this.options.url}}}},infoWinCloseClick:function(a){this.closeInfoWindow(a)},mouseDown:function(a){a.stop()},bindInfoWindow:function(a){this.infoWindow=new ta.maps.InfoWindow(this,$merge({delay:this.options.infoWindowDelay,offsetX:this.options.infoWindowOffsetX,offsetY:this.options.infoWindowOffsetY},a))}});ta.maps.MARKER_HOTEL={pinOffset:42,shadowOffset:42,iconOffset:18,pinSize:new ta.support.Size(19,23),shadowSize:new ta.support.Size(19,23),pinIndex:2,hoverIndex:1,iconIndex:1,shadowOffsetX:2,shadowOffsetY:2,anchorX:-4,anchorY:23,supportsIcon:true};ta.maps.MARKER_VR_EXACT=$merge(ta.maps.MARKER_HOTEL,{pinIndex:9,iconIndex:12,iconOffsetX:-1});ta.maps.MARKER_VR_EXACT_TOP=$merge(ta.maps.MARKER_VR_EXACT,{pinIndex:6,iconIndex:13,iconHoverIndex:12,supportsHoverIcon:true});ta.maps.MARKER_VR_MULTI_EXACT=$merge(ta.maps.MARKER_VR_EXACT,{pinIndex:1,hoverIndex:2,pinOffset:102,shadowOffset:102,pinSize:new ta.support.Size(23,28),shadowSize:new ta.support.Size(23,28),iconSize:new ta.support.Size(19,23),iconOffsetY:2,iconOffsetX:1,iconIndex:12,anchorX:0,anchorY:0,infoWindowOffsetX:-10,infoWindowOffsetY:26});ta.maps.MARKER_VR_MULTI_EXACT_TOP=$merge(ta.maps.MARKER_VR_MULTI_EXACT,{pinIndex:3,iconIndex:13,iconHoverIndex:12,supportsHoverIcon:true});ta.maps.MARKER_VR_APPROX=$merge(ta.maps.MARKER_VR_EXACT,{pinIndex:1,hoverIndex:2,pinOffset:223,shadowOffset:223,pinSize:new ta.support.Size(19,18),shadowSize:new ta.support.Size(19,18),iconIndex:12});ta.maps.MARKER_VR_APPROX_TOP=$merge(ta.maps.MARKER_VR_APPROX,{pinIndex:3,iconIndex:13,iconHoverIndex:12,supportsHoverIcon:true});ta.maps.MARKER_VR_MULTI_APPROX=$merge(ta.maps.MARKER_VR_MULTI_EXACT,{pinIndex:9,hoverIndex:10,pinOffset:130,shadowOffset:130,pinSize:new ta.support.Size(23,22),shadowSize:new ta.support.Size(23,22)});ta.maps.MARKER_VR_MULTI_APPROX_TOP=$merge(ta.maps.MARKER_VR_MULTI_APPROX,{pinIndex:11,iconIndex:13,iconHoverIndex:12,supportsHoverIcon:true});ta.maps.MARKER_VR_CLUSTER=$merge(ta.maps.MARKER_VR_MULTI_EXACT,{pinIndex:1,hoverIndex:2,pinOffset:243,shadowOffset:243,pinSize:new ta.support.Size(29,25),shadowSize:new ta.support.Size(29,25),iconIndex:12,iconOffsetY:6});ta.maps.MARKER_VR_CLUSTER_TOP=$merge(ta.maps.MARKER_VR_CLUSTER,{pinIndex:3,iconIndex:13,iconHoverIndex:12,supportsHoverIcon:true});ta.maps.MARKER_RESTAURANT=$merge(ta.maps.MARKER_HOTEL,{pinIndex:4,iconIndex:2});ta.maps.MARKER_ATTRACTION=$merge(ta.maps.MARKER_HOTEL,{pinIndex:3,iconIndex:3});ta.maps.MARKER_BB=$merge(ta.maps.MARKER_HOTEL,{pinIndex:5,iconIndex:4});ta.maps.MARKER_TINY_HOTEL={pinOffset:163,shadowOffset:163,pinSize:new ta.support.Size(11,14),shadowSize:new ta.support.Size(11,14),pinIndex:1,hoverIndex:1,shadowOffsetX:1,shadowOffsetY:1,anchorX:0,anchorY:0,supportsIcon:false};ta.maps.MARKER_TINY_RESTAURANT=$merge(ta.maps.MARKER_TINY_HOTEL,{pinIndex:2});ta.maps.MARKER_TINY_ATTRACTION=$merge(ta.maps.MARKER_TINY_HOTEL,{pinIndex:3});ta.maps.MARKER_TINY_BB=$merge(ta.maps.MARKER_TINY_HOTEL,{pinIndex:4});ta.maps.MARKER_DOT_HOTEL={pinOffset:153,shadowOffset:153,pinSize:new ta.support.Size(9,9),shadowSize:new ta.support.Size(9,9),pinIndex:2,hoverIndex:1,shadowOffsetX:1,shadowOffsetY:1,anchorX:0,anchorY:0,supportsIcon:false};ta.maps.MARKER_DOT_RESTAURANT=$merge(ta.maps.MARKER_DOT_HOTEL,{pinIndex:3});ta.maps.MARKER_DOT_ATTRACTION=$merge(ta.maps.MARKER_DOT_HOTEL,{pinIndex:4});ta.maps.MARKER_DOT_BB=$merge(ta.maps.MARKER_DOT_HOTEL,{pinIndex:5});ta.maps.MARKER_HOTEL_SPONSOR={pinOffset:178,shadowOffset:178,pinSize:new ta.support.Size(23,27),shadowSize:new ta.support.Size(23,27),hoverIndex:-1,anchorX:-2,anchorY:27,supportsIcon:false};ta.maps.MARKER_BW=$merge(ta.maps.MARKER_HOTEL_SPONSOR,{pinIndex:1});ta.maps.MARKER_HI=$merge(ta.maps.MARKER_HOTEL_SPONSOR,{pinIndex:2});ta.maps.MARKER_BEST_WESTERN=ta.maps.MARKER_BW;ta.maps.MARKER_HAMPTON_INN=ta.maps.MARKER_HI;ta.maps.Map=TAMap.extend({options:{staticMarkers:false,markerActivateOn:ta.overlays.ACTIVATE_HOVER},markerEventsEnabled:function(){return !this.options.staticMarkers},markerActiviatesOnBoth:function(){return this.markerActivatesOn(ta.overlays.ACTIVATE_BOTH)},markerActivatesOnClick:function(){return this.markerActivatesOn(ta.overlays.ACTIVATE_CLICK)},markerActivatesOn:function(a){return a==this.options.markerActivateOn},initialize:function(b,a){this.parent(b,a);this.zoom=this.options.zoom;var c=ta.retrieve("maps.markerActivateOn");if(c){this.options.markerActivateOn=c}},_move:function(c,a,b){this.gmap2.setCenter(new GLatLng(c,a));if(b){this.gmap2.setZoom(b);this.zoom=b}},recenter:function(){if(ta.retrieve("maps.saveable")){ta.store("maps.moved",false);this.removeOption("mc");this.removeOption("mz");this.saveOptions()}this.parent()},reset:function(){if(ta.retrieve("maps.saveable")){ta.store("maps.moved",false);this.removeOption("mc");this.removeOption("mz");this.saveOptions()}this.parent()},_reset:function(){this._move(this.options.origLat,this.options.origLng,this.options.zoom)},addMarker:function(a,b,c){this.markers[b]=this.markers[b]||{visible:true,markers:[]};this.markers[b].markers.push(a);if(!c){this.gmap2.addOverlay(a.toGOverlay())}return this},addMarkers:function(d,c,b){var a;d.each(function(f){if(f!=null){a=new ta.maps.Marker(this,new GLatLng(f.lat,f.lng),$merge({markType:c},b,f));if(f.num){a.setNumberIndex(f.num)}if(f.customHover){a.bindInfoWindow(f.customHover)}this.addMarker(a,c,this.markers[c]&&!this.markers[c].visible)}},this);return this},replaceMarkers:function(d,c,b){if(!$defined(this.markers[c])){return this.addMarkers(d,c,b)}var j=ta.retrieve("openInfoWindow");var a=null;if(j){a=j.marker}var h=this.markers[c].markers.filter(function(k){return !d.some(function(l){return l.lat==k.latlng.lat()&&l.lng==k.latlng.lng()},this)},this);h.each(function(k){this.gmap2.removeOverlay(k.toGOverlay());this.markers[c].markers.remove(k);if(a!=null&&a.latlng.lat()==k.latlng.lat()&&a.latlng.lng()==k.latlng.lng()){ta.remove("openInfoWindow");j.hide()}},this);var j=ta.retrieve("openInfoWindow");if(j){var a=j.marker;if(a.options.markType==c){j.position()}}var f=d.filter(function(k){return !this.markers[c].markers.some(function(l){return k.lat==l.latlng.lat()&&k.lng==l.latlng.lng()},this)},this);this.addMarkers(f,c,b);var g=d.filter(function(k){return !f.contains(k)},this);g.each(function(k){this.markers[c].markers.each(function(l){if(k.lat==l.latlng.lat()&&k.lng==l.latlng.lng()){l.updateOptions(k)}},this)},this);return this},onMove:function(){if(this.suppressEvents){return}if(ta.retrieve("maps.saveable")){ta.store("maps.moved",true);this.setOption("mc",this.mapCenter().toUrlValue());this.setOption("mz",this.getZoom());this.saveOptions()}this.fireEvent("onMove",[this.previousZoom!=this.gmap2.getZoom(),this.getZoom()])},onZoom:function(c,a){if(c>=this.options.minZoom&&a<this.options.minZoom){for(var b in this.markers){this.markers[b].markers.each(function(d){this.gmap2.removeOverlay(d.toGOverlay())},this)}if(!this.suppressEvents){this.fireEvent("homePinOnly")}}else{if(c<this.options.minZoom&&a>=this.options.minZoom){for(var b in this.markers){this.markers[b].markers.each(function(d){if(!d.has_been_added){this.gmap2.addOverlay(d.toGOverlay())}},this)}if(!this.suppressEvents){this.fireEvent("allPins")}}}if(!this.suppressEvents){this.fireEvent("onZoom",[c,a])}return this},getDataForType:function(a){return[]},hideType:function(b){if(!this.markers[b]){this.markers[b]={visible:false,markers:[]};return this}if(this.markers[b]&&!this.markers[b].visible){return this}this.markers[b].markers.each(function(d){this.gmap2.removeOverlay(d.toGOverlay())},this);this.markers[b].visible=false;var c=ta.retrieve("openInfoWindow");if(c){var a=c.marker;if(this.markers[a.options.markType].visible==false){ta.remove("openInfoWindow");c.hide()}}return this},showType:function(a){if(!this.markers[a]){this.markers[a]={visible:true,markers:[]};return this}if(this.markers[a]&&this.markers[a].visible){return}this.markers[a].markers.each(function(b){this.gmap2.addOverlay(b.toGOverlay())},this);this.markers[a].visible=true;return this},changeMarkerTypes:function(a){$H(a).each(function(b,c){if(!this.markers[c]){return}this.markers[c].markers.each(function(d){d.changeType(b)})},this);return this},restoreOptions:function(a){if(a.hasKey("mc")&&a.hasKey("mz")){var b=a.get("mc").split(",");ta.store("maps.moved",true);this._move(parseFloat(b[0]),parseFloat(b[1]),parseInt(a.get("mz")))}},zoomAndPanToFit:function(h,c){var f=this.mapBounds();var b=new GLatLng(h,c);if(!f.containsLatLng(b)){f.extend(new GLatLng(h,c));var a=f.getCenter();var g=this.getZoom();var d=this.gmap2.getBoundsZoomLevel(f);this._move(a.lat(),a.lng(),d);GEvent.trigger(this.gmap2,"moveend",(g!=d),d)}}});if($defined(ta.util.Saveable)){ta.maps.Map.implement(new ta.util.Saveable)}ta.maps.Factory={createMorphableMap:function(){var b=$(ta.retrieve("maps.container"));var f=ta.retrieve("maps.morphs");var d=f.shift();var c=$merge({zoom:ta.asInt("maps.zoom"),origLat:ta.asFloat("maps.latitude"),origLng:ta.asFloat("maps.longitude")},ta.retrieve("maps.options"));var g=new ta.maps.MorphableMap(b,c,d);ta.store("maps.map",g);while(f.length>0){g.addMorph(f.shift())}var a=ta.remove("maps.marker-data");if(a){$H(a).each(function(j,h){g.addMarkers(j.markers,h,$merge(ta.maps["MARKER_"+h.toUpperCase()],j.options))})}if(ta.retrieve("maps.saveable")){g.registerForLocationHash()}},updateMapMarkers:function(){var b=ta.retrieve("maps.map");if(!b){return false}var a=ta.remove("maps.marker-data");if(a){a=$H(a);a.each(function(d,c){b.replaceMarkers(d.markers,c,$merge(ta.maps["MARKER_"+c.toUpperCase()],d.options))})}return true},resetMap:function(c,a){if(!ta.has("maps.map")){return}var b=ta.retrieve("maps.map");b.reset()},toggleTypeByValue:function(c,a){if(!["checkbox","radio"].contains(a.type)){return}if(!ta.has("maps.map")){return}var b=ta.retrieve("maps.map");b.showOrHideType(a.checked,a.value)},createMap:function(){var a=$(ta.retrieve("maps.container"));if(!a){if(IS_DEBUG){alert("Cannot find map container")}return}a.empty();var c=$merge({zoom:ta.asInt("maps.zoom"),origLat:ta.asFloat("maps.latitude"),origLng:ta.asFloat("maps.longitude")},ta.retrieve("maps.options"));var f=new ta.maps.Map(a,c);ta.store("maps.map",f);var b=ta.remove("maps.marker-data");if(b){$H(b).each(function(h,g){f.addMarkers(h.markers,g,$merge(ta.maps["MARKER_"+g.toUpperCase()],h.options))})}if(ta.has("maps.postcreate")){var d=ta.remove("maps.postcreate");d(f)}return f},createFloatMap:function(l,d){if(l){l.preventDefault()}if(!window.GUnload){ta.util.load.GMaps(ta.maps.Factory.createFloatMap);return false}if(!ta.has("maps.floater")){var b=$("FMRD");Cookie.set("NPID",1102,{domain:cookieDomain,time:5});var c=window[mapDivId];if(!c){alert("Options not found for map: "+mapDivId);return}var j=b.getElement(".js_map");var g=b.getElement(".js_error");var f=b.getElement(".js_mapHome");var k=new FloatableWin(b);ta.store("maps.floater",k);k.show();var h=window.pageServlet;var a=new TAMap(j,{origLat:c.lat,origLng:c.lng,zoom:14,hoverOffX:-122,homeOps:c.geoMap?{}:{customHover:{title:c.title,url:getBaseMapsUrl("info",c.locId,h),titleUrl:c.url}},servlet:h});a.origOps=c;a.addIcon("hotel",{name:"Hotel"});a.addIcon("restaurant",{name:"Restaurant"});a.addIcon("attraction",{name:"ThingToDo"});a.addIcon("sponsor_BEST_WESTERN",{name:"SponsorBW2",shadow:"shadowLarge.png",iconWidth:23,iconHeight:27,iconAnchorX:4,iconAnchorY:26,shadowWidth:25,shadowHeight:29});a.addIcon("sponsor_HAMPTON_INN",{name:"SponsorHI2",shadow:"shadowLarge.png",iconWidth:23,iconHeight:27,iconAnchorX:4,iconAnchorY:26,shadowWidth:25,shadowHeight:29});a.addEvent("noPins",function(){g.show()});a.addEvent("allPins",function(){g.hide()});a.addEvent("homePinOnly",function(){g.show()});a.addEvent("onReset",requestReset.bind(a,["reset"]));f.addEvent("click",a.reset.bind(a));requestReset.apply(a,["display"]);updateTrkPxl();j.getParent(".inner").getElements(".js_markerClass").each(function(n){var m=n.getElement("input");var o=m.getProperty("class");n.addEvent("click",toggleMarkerType.bindAsEventListener(j,[m,o]));if(!m.checked){a.hideType(o)}});j.getParent(".inner").getElements(".js_markerClassSponsor").each(function(n){var m=n.getElement("input");var o=m.getProperty("class");n.addEvent("click",toggleSponsor.bindAsEventListener(j,[m,o]))});j.map=a}else{k=ta.retrieve("maps.floater");k.show()}return false}};ta.maps.InfoWindow=ta.maps.Overlay.extend({options:{title:null,titleUrl:null,url:null,heightEstimate:false,delay:250,offsetY:0,offsetX:0,timeout:150},initialize:function(a,b){this.parent(b);this.marker=a;this.map=this.marker.map;if(this.options.url){this.options.url=ta.util.URL.parse(this.options.url)}if(this.options.titleUrl){this.options.titleUrl=ta.util.URL.parse(this.options.titleUrl)}},addedToMap:function(c){if(this.container){this.container.setStyles({left:"-999em",top:"-999em"})}else{var b=new Element("div",{"class":"js_hvrNfo wCls",styles:{position:"absolute",left:"-999em",top:"-999em"}});if(!this.marker.tamap.markerActivatesOnClick()||(this.options.url&&this.options.url.indexOf("sponsorInfo")>0)){b.addEvent("mouseenter",this.hoverOn.bindWithEvent(this));b.addEvent("mouseleave",this.hoverOff.bindWithEvent(this))}this.container=b;if(this.marker.tamap.markerActivatesOnClick()){this.container.adopt(new Element("div",{"class":"hvrCls"}).addEvent("click",this.closeClicked.bindWithEvent(this)))}if(this.options.title){var f=null;if(this.options.titleUrl){f=new Element("a",{"class":"hvrTtl",href:this.options.titleUrl}).setText(this.options.title).addEvent("click",this.titleClicked.bindWithEvent(this))}else{f=new Element("span",{"class":"hvrTtl"}).setText(this.options.title)}var a=new Element("div",{"class":"wrap"});a.adopt(f);this.container.adopt(a)}if(this.options.url){this.info=new Element("div",{"class":"hvrData"}).setText(JS_loading);this.container.adopt(this.info);new Ajax(this.options.url,{method:"get",onSuccess:this.setContent.bind(this)}).request()}if(this.options.contents){var d=new Element("div",{"class":"hvrData"}).adopt(this.options.contents);this.container.adopt(d)}}this.map.getPane(G_MAP_FLOAT_PANE).appendChild(this.container);this.position()},removedFromMap:function(){this.container.remove()},copy:function(){return new ta.maps.InfoWindow(this.options)},redraw:function(a){},position:function(){var a=this.marker.getAnchor();var d=this.map.fromLatLngToContainerPixel(this.marker.latlng);var c=this.container.getSize().size;var b=this.map.getSize();if(d.x+this.options.offsetX<5){a.x+=5-d.x-this.options.offsetX}if(d.y+5+c.y+this.options.offsetY>b.height){a.y-=c.y+this.marker.options.anchorY+2+this.options.offsetY}if(d.x+5+c.x+this.options.offsetX>b.width){var f=(d.x+5+c.x+this.options.offsetX)-b.width;a.x=a.x-f}this.container.setStyles({left:a.x+this.options.offsetX,top:a.y+this.options.offsetY})},onMarker:function(a){$clear(this.hideTimer);this.showTimer=this.show.delay(this.options.delay,this)},offMarker:function(a){$clear(this.showTimer);this.hideTimer=this.hide.delay(this.options.timeout,this)},hoverOn:function(a){$clear(this.hideTimer)},hoverOff:function(a){this.hideTimer=this.hide.delay(this.options.timeout,this)},show:function(){var a=ta.remove("openInfoWindow");if(a){a.hide()}ta.store("openInfoWindow",this);this.map.addOverlay(this.toGOverlay())},hide:function(){this.map.removeOverlay(this.toGOverlay())},setContent:function(a){this.info.setHTML(a);window.behavior.apply(this.info);this.position();var b=this.container.getElement("img.tv");if(b){var f=this.container.getElement(".hvrTtl");var c=65;if(this.marker.tamap.markerActivatesOnClick()){c+=13}var d=c+"px";f.setStyle("margin-right",d)}},titleClicked:function(){if(this.options.titlePID){Cookie.set("NPID",this.options.titlePID,{domain:cookieDomain,time:5})}if(this.options.callback){new Event(e).stop();this.hide();window[this.options.callback](this.options.titleUrl)}},closeClicked:function(a){this.hide();this.marker.infoWinCloseClick(a)}});ta.maps.MorphableMap=ta.maps.Map.extend({options:{snapRecenter:true},initialize:function(c,b,a){if(a.type){a=$merge(ta.maps["MAP_"+a.type.toUpperCase()],a);delete a.type}b=$merge(b,a);this.parent(c,b);this.initialContainer=$(a.container||c.getParent());this.morphs=[];this.addMorph(a);this.index=0;if(this.morphs[this.index].zoomDelta){this.suppressEvents=true;this.gmap2.setZoom(this.zoom+this.morphs[this.index].zoomDelta);this.suppressEvents=false}if(this.morphs[this.index].markerTypes){this.changeMarkerTypes(this.morphs[this.index].markerTypes)}},getMorphIndex:function(){return this.index},getZoom:function(){var a=this.gmap2.getZoom();if(this.morphs[this.index].zoomDelta){a-=this.morphs[this.index].zoomDelta}return a},_move:function(c,a,b){this.gmap2.setCenter(new GLatLng(c,a));if(b){this.gmap2.setZoom(b+$pick(this.morphs[this.index].zoomDelta,0));this.zoom=b}},addMarker:function(a,b,c){this.parent(a,b,c);if(this.morphs[this.index].markerTypes&&this.morphs[this.index].markerTypes[b]){a.changeType(this.morphs[this.index].markerTypes[b])}return this},addMorph:function(a){var b={container:this.initialContainer,smallMap:this.options.smallMap,typeControl:this.options.typeControl,scaleControl:this.options.scaleControl,panControl:this.options.panControl,staticMap:this.options.staticMap,enableInfoWindows:this.options.enableInfoWindows,staticMarkers:this.options.staticMarkers,collapse:false,togglers:[],zoomDelta:0};if(a.type){b=$merge(b,ta.maps["MAP_"+a.type.toUpperCase()]);delete a.type}if(a.markerTypes){$H(a.markerTypes).map(function(d,c){if($type(d)!="string"){return d}return ta.maps["MARKER_"+d.toUpperCase()]})}a=$merge(b,a);a.container=$(a.container);if(a.alsoShowHide){a.alsoShowHide=a.alsoShowHide.map(function(d,c){return $(d)})}if($type(a.togglers)=="string"){a.togglers=$$(a.togglers)}this.morphs.push(a);this.morphs.getLast().togglers.each(function(c){c.addEvent("click",this.morph.bind(this,this.morphs.length-1))},this);return this},morph:function(c){if(c<0||c>=this.morphs.length||this.index==c){return this}var d=this.morphs[this.index];var b=this.morphs[c];this.index=c;d.togglers.each(function(f){f.show()});b.togglers.each(function(f){f.hide()});if(d.container!=b.container){b.container.adopt(this.src);if(b.collapse){b.container.show();if(b.alsoShowHide){b.alsoShowHide.each(function(f){f.show()})}}if(d.collapse){d.container.hide();if(d.alsoShowHide){d.alsoShowHide.each(function(f){f.hide()})}}}if(b.typeControl){if(!this.typeControl){this.typeControl=new GMapTypeControl()}this.gmap2.addControl(this.typeControl)}else{if(this.typeControl){this.gmap2.removeControl(this.typeControl)}}if(b.scaleControl){if(!this.scaleControl){this.scaleControl=new GScaleControl()}this.gmap2.addControl(this.scaleControl)}else{if(this.scaleControl){this.gmap2.removeControl(this.scaleControl)}}if(b.panControl){if(b.smallMap){if(!this.smallPanControl){this.smallPanControl=new GSmallMapControl()}this.gmap2.addControl(this.smallPanControl)}else{if(!this.largePanControl){this.largePanControl=new GLargeMapControl()}this.gmap2.addControl(this.largePanControl)}}else{if(this.smallPanControl){this.gmap2.removeControl(this.smallPanControl)}if(this.largePanControl){this.gmap2.removeControl(this.largePanControl)}}if(b.staticMap){this.gmap2.disableDragging();this.gmap2.disableDoubleClickZoom();if(this.eventsAdded){GEvent.removeListener(this.gel_moveStart);GEvent.removeListener(this.gel_moveEnd);GEvent.removeListener(this.gel_dragEnd);GEvent.removeListener(this.gel_zoomEnd)}this.eventsAdded=false}else{this.gmap2.enableDragging();this.gmap2.enableDoubleClickZoom();if(!this.moveStartHandler){this.moveStartHandler=this.beforeMove.bind(this)}if(!this.moveEndHandler){this.moveEndHandler=this.onMove.bind(this)}if(!this.dragEndHandler){this.dragEndHandler=this.onDrag.bind(this)}if(!this.zoomEndHandler){this.zoomEndHandler=this.onZoom.bind(this)}if(!this.eventsAdded){this.gel_moveStart=GEvent.addListener(this.gmap2,"movestart",this.moveStartHandler);this.gel_moveEnd=GEvent.addListener(this.gmap2,"moveend",this.moveEndHandler);this.gel_dragEnd=GEvent.addListener(this.gmap2,"dragend",this.dragEndHandler);this.gel_zoomEnd=GEvent.addListener(this.gmap2,"zoomend",this.zoomEndHandler)}this.eventsAdded=true}this.options.enableInfoWindows=b.enableInfoWindows;this.options.staticMarkers=b.staticMarkers;var a=this.mapCenter();this.gmap2.checkResize();this.suppressEvents=true;if(this.options.snapRecenter){this.gmap2.setCenter(a)}else{this.gmap2.panTo(a)}if(b.zoomDelta){this.gmap2.setZoom(this.zoom+b.zoomDelta)}else{this.gmap2.setZoom(this.zoom)}this.suppressEvents=false;if(b.markerTypes){this.changeMarkerTypes(b.markerTypes)}if(ta.retrieve("maps.saveable")){if(this.index==0){this.removeOption("map")}else{this.setOption("map",this.index)}this.saveOptions()}this.fireEvent("onMorph",[this.index,this]);return this},restoreOptions:function(a){if(a.hasKey("map")){this.morph(parseInt(a.get("map")))}if(a.hasKey("mc")&&a.hasKey("mz")){var b=a.get("mc").split(",");ta.store("maps.moved",true);this._move(parseFloat(b[0]),parseFloat(b[1]),parseInt(a.get("mz")))}}});ta.maps.MorphableMap.implement(new Events);ta.maps.MAP_DEFAULT={smallMap:true,typeControl:false,scaleControl:true,panControl:true,enableInfoWindows:true,zoomDelta:false,staticMap:false,staticMarkers:false};ta.maps.MAP_THUMB=$merge(ta.maps.MAP_DEFAULT,{scaleControl:false,panControl:false,enableInfoWindows:false,staticMap:true,staticMarkers:true});