tile_extents={16:{start:[19815,24233],end:[19836,24246]},17:{start:[39630,48466],end:[39673,48492]},18:{start:[79260,96932],end:[79346,96984]},19:{start:[158520,193865],end:[158693,193969]},15:{start:[9907,12116],end:[9918,12123]}};function MITGoogleMapsFrontEnd(b,a,e,d,f,c){this.gmap=null;this.markerManager=null;this.targetMapDivName=b;this.leftClickCallback=a;this.rightClickCallback=e;this.moveEndCallback=d;this.zoomEndCallback=f;this.mapTypeChangedCallback=c;this.setMapParams()}MITGoogleMapsFrontEnd.prototype=new Object();MITGoogleMapsFrontEnd.prototype.LARGE_CONTROLS="large_controls";MITGoogleMapsFrontEnd.prototype.SMALL_CONTROLS="small_controls";MITGoogleMapsFrontEnd.prototype.NO_CONTROLS="no_controls";MITGoogleMapsFrontEnd.prototype.defaultGetTile=function(){var a="http://web.mit.edu/campus-map/tiles";if("IMG_TILE_REPOSITORY" in window){a=window.IMG_TILE_REPOSITORY}return function(c,d){var b=function(e,k,h){var g;if(tile_extents[h]){var j=tile_extents[h]["start"];var f=tile_extents[h]["end"];if((e>=parseInt(j[0])&&e<=parseInt(f[0]))&&(k>=parseInt(j[1])&&k<=parseInt(f[1]))){return true}}return false};if(b(c.x,c.y,d)){return a+"/tile_"+c.x+"_"+c.y+"_"+d+".png"}else{return"http://www.google.com/mapfiles/transparent.gif"}}};MITGoogleMapsFrontEnd.prototype.setMapParams=function(){this.minImgZoom=15;this.maxImgZoom=19;this.getTile=MITGoogleMapsFrontEnd.prototype.defaultGetTile();if(window.getTileOverride){this.getTile=getTileOverride()}if(window.tile_extents){for(var a in tile_extents){a=parseInt(a);if(a>this.maxImgZoom){this.maxImgZoom=a;continue}if(a<this.minImgZoom){this.minImgZoom=a;continue}}}};MITGoogleMapsFrontEnd.prototype.loadMap=function(l){if(!GBrowserIsCompatible()){alert("Sorry, your browser is not compatible with Google Maps.");return}var o=-71.092;var g=42.36031;var n=this.minImgZoom+1;var f=MITGoogleMapsFrontEnd.prototype.LARGE_CONTROLS;var h=true;var e=false;var a=0;var b=null;if(l){if(l.center_long){o=l.center_long}if(l.center_lat){g=l.center_lat}if(l.zoom){n=l.zoom}if(l.control_type){f=l.control_type}if(l.include_beyond_mit!=null){h=l.include_beyond_mit}if(l.streetview!=null){e=l.streetview}if(l.leftBorder!=null){a=l.leftBorder}else{a=0}if(l.googleLogoDiv!=null){b=l.googleLogoDiv}}var i=new MITGoogleMapsFrontEndTileLayer(this.getTile,this.minImgZoom,this.maxImgZoom);var m;if(h){m=G_NORMAL_MAP.getTileLayers();m.push(i)}else{m=[i]}var k=new GMapType(m,new GMercatorProjection(this.maxImgZoom+1),"MIT",{errorMessage:"No data available",maxResolution:this.maxImgZoom});G_HYBRID_MAP.getName=function(){return"Aerial"};var d=[k,G_HYBRID_MAP];this.gmap=new GMap2(document.getElementById(this.targetMapDivName),{mapTypes:d});var j=new GLatLng(g,o);this.gmap.setCenter(j,n);this.l3dControl=new GLargeMapControl3D();this.scaleControl=new GScaleControl();this.googleLogoDiv=null;if(b){this.googleLogoDiv=$(b)}if(f==true||f==MITGoogleMapsFrontEnd.prototype.LARGE_CONTROLS){this.gmap.addControl(new GMapTypeControl());this.gmap.addControl(new GOverviewMapControl());this.displayLargeLeftControls(a);if(e){this.gmap.addControl(new StreetViewControl(new StreetViewManager(this.gmap)))}}else{if(f==MITGoogleMapsFrontEnd.prototype.SMALL_CONTROLS){var c=this.gmap.getDefaultUI();c.maptypes.satellite=false;c.maptypes.normal=false;c.maptypes.physical=false;c.maptypes.hybrid=true;c.controls.smallzoomcontrol3d=true;c.controls.largemapcontrol3d=false;c.controls.maptypecontrol=false;this.gmap.setUI(c)}else{}}this.gmap.enableScrollWheelZoom();this.markerManager=new GOurMarkerManager(this.gmap);mm=this.markerManager;if(this.rightClickCallback){GEvent.addListener(this.gmap,"singlerightclick",function(q,p){return function(s,u,t){var r=null;var v=null;if(s){r=s.x;v=s.y}p(q.lookupIdByGMarker(t),r,v)}}(mm,this.rightClickCallback))}if(this.leftClickCallback){GEvent.addListener(this.gmap,"click",function(q,p){return function(t,r){var s=null;var u=null;if(r){s=r.lng();u=r.lat()}p(q.lookupIdByGMarker(t),u,s)}}(mm,this.leftClickCallback))}if(this.moveEndCallback){GEvent.addListener(this.gmap,"moveend",this.moveEndCallback)}if(this.zoomEndCallback){GEvent.addListener(this.gmap,"zoomend",this.zoomEndCallback)}if(this.mapTypeChangedCallback){GEvent.addListener(this.gmap,"maptypechanged",this.mapTypeChangedCallback)}};MITGoogleMapsFrontEnd.prototype.unloadMap=function(){GUnload()};MITGoogleMapsFrontEnd.prototype.resizeMap=function(){if(!this.gmap){return}this.gmap.checkResize()};MITGoogleMapsFrontEnd.prototype.setCenter=function(b,a){return this.gmap.setCenter(new GLatLng(b,a))};MITGoogleMapsFrontEnd.prototype.closeInfoWindow=function(){if(!this.gmap){return}this.gmap.closeInfoWindow()};MITGoogleMapsFrontEnd.prototype.displayLargeLeftControls=function(a){var c=null;var b=null;if(a){c=new GControlPosition(G_ANCHOR_TOP_LEFT,new GSize(a+7,7));b=new GControlPosition(G_ANCHOR_BOTTOM_LEFT,new GSize(a+68,5));if(this.googleLogoDiv){this.googleLogoDiv.css({left:(a+2)+"px",bottom:"2px"});this.googleLogoDiv.show()}}this.gmap.addControl(this.l3dControl,c);this.gmap.addControl(this.scaleControl,b)};MITGoogleMapsFrontEnd.prototype.hideLargeLeftControls=function(){this.gmap.removeControl(this.l3dControl);this.gmap.removeControl(this.scaleControl);if(this.googleLogoDiv){this.googleLogoDiv.hide()}};MITGoogleMapsFrontEnd.prototype.getZoom=function(){if(!this.gmap){return null}return this.gmap.getZoom()};MITGoogleMapsFrontEnd.prototype.getCenter=function(){if(!this.gmap){return null}var a=this.gmap.getCenter();return{latitude:a.lat(),longitude:a.lng()}};MITGoogleMapsFrontEnd.prototype.placeMarker=function(h,g,e,f,d,c,b,a){if(!this.markerManager){return}this.markerManager.addMarker(h,g,e,f,d,c,b,a)};MITGoogleMapsFrontEnd.prototype.removeMarker=function(a){if(!this.markerManager){return}this.markerManager.removeMarkerByName(a)};MITGoogleMapsFrontEnd.prototype.removeMarkersByType=function(a){if(!this.markerManager){return}this.markerManager.clear(a)};MITGoogleMapsFrontEnd.prototype.removeAllMarkers=function(){if(!this.markerManager){return}this.markerManager.clear()};MITGoogleMapsFrontEnd.prototype.panToMarker=function(d,b){if(!this.markerManager){return false}var a=this.markerManager.panTo(d);var c=this.markerManager;if(b&&a){setTimeout(function(){c.openInfoWindow(d)},200)}return a};MITGoogleMapsFrontEnd.prototype.getMarkers=function(a){return this.markerManager.getMarkers(a)};MITGoogleMapsFrontEnd.prototype.panTo=function(b,a){return this.gmap.panTo(new GLatLng(b,a))};MITGoogleMapsFrontEnd.prototype.openInfoWindow=function(a){return this.markerManager.openInfoWindow(a)};MITGoogleMapsFrontEnd.prototype.maximizeCurrentOpenMarker=function(){this.gmap.getInfoWindow().maximize()};MITGoogleMapsFrontEnd.prototype.getOpenWindowMarker=function(){return this.markerManager.getOpenWindowMarker()};function MITGoogleMapsFrontEndTileLayer(c,d,a){this.getTile=c;var b=new GCopyright(1,new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)),0,"&copy; MIT");this.copyrightCollection=new GCopyrightCollection("Map Data ");this.copyrightCollection.addCopyright(b);GTileLayer.call(this,this.copyrightCollection,d,a,{opacity:1})}MITGoogleMapsFrontEndTileLayer.prototype=new GTileLayer();MITGoogleMapsFrontEndTileLayer.prototype.constructor=MITGoogleMapsFrontEndTileLayer;MITGoogleMapsFrontEndTileLayer.prototype.isPng=function(){return true};MITGoogleMapsFrontEndTileLayer.prototype.getTileUrl=function(b,a){return this.getTile(b,a)};function GOurMarkerManager(a){this.map=a;this.markers=new Object();this.currentMarker=null}GOurMarkerManager.prototype=new Object();GOurMarkerManager.prototype.addMarker=function(m,j,l,n,b,g,e,h){var d,c;if(this.markers[m]){return}var k=new GIcon(G_DEFAULT_ICON);if(h){k.image=h}var a=new GMarker(new GLatLng(j,l),{icon:k});var f=this;GEvent.addListener(a,"infowindowopen",function(){closeLink();f.currentMarker=m});GEvent.addListener(a,"infowindowbeforeclose",function(){closeLink();f.currentMarker=null});this.markers[m]={GMarker:a,description:n,maxContent:b,maxTitle:g,markerType:e};this.map.addOverlay(a);if(n){GEvent.addListener(a,"click",function(i,o){return function(){i.openInfoWindow(o)}}(this,m))}};GOurMarkerManager.prototype.getOpenWindowMarker=function(){return this.currentMarker};GOurMarkerManager.prototype.removeMarkerByName=function(a){gmarker=this.markers[a]["GMarker"];if(!gmarker){return}this.map.removeOverlay(gmarker);delete this.markers[a]};GOurMarkerManager.prototype.removeMarkerByGMarker=function(a){markerName=this.lookupIdByGMarker(a);if(!markerName){return}this.map.removeOverlay(a);delete this.markers[markerName]};GOurMarkerManager.prototype.clear=function(a){var b;for(b in this.markers){if(a==null||a==this.markers[b]["markerType"]){this.map.removeOverlay(this.markers[b]["GMarker"]);delete this.markers[b]}}};GOurMarkerManager.prototype.panTo=function(b){if(!this.markers[b]){return false}var a=this.markers[b]["GMarker"];this.map.panTo(a.getPoint());return true};GOurMarkerManager.prototype.openInfoWindow=function(e){if(!this.markers[e]){return false}var c=this.markers[e]["GMarker"];var a=this.markers[e]["description"];var b=this.markers[e]["maxContent"];var f=this.markers[e]["maxTitle"];var d=null;if(b){d={maxContent:b,maxTitle:f}}if(a){c.openInfoWindow(a,d)}return true};GOurMarkerManager.prototype.getMarkers=function(a){var c;var b=new Array();for(c in this.markers){if(a==null||a==this.markers[c]["markerType"]){b.push(c)}}return b};GOurMarkerManager.prototype.lookupIdByGMarker=function(b){if(!b){return null}var a;for(a in this.markers){if(this.markers[a]["GMarker"]==b){return a}}return null};function StreetViewControl(a){this.map=null;this.manager=a}StreetViewControl.prototype=new GControl();StreetViewControl.prototype.initialize=function(b){var c=this;this.map=b;var a=$("<div/>").addClass("streetctrl").append($("<div/>").text("Street View"));a.click(function(){if(!$(this).hasClass("streetctrl_active")){c.manager.show();$(this).addClass("streetctrl_active")}else{c.manager.hide();$(this).removeClass("streetctrl_active")}});b.getContainer().appendChild(a.get(0));return a.get(0)};StreetViewControl.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(145,7))};function StreetViewManager(c){var d=this;this.map=c;this.soverlay=new GStreetviewOverlay();this.client=new GStreetviewClient();this.panorama=null;var a=new GIcon(G_DEFAULT_ICON);a.image="http://maps.gstatic.com/mapfiles/cb/man_arrow-0.png";a.transparent="http://maps.gstatic.com/mapfiles/cb/man-pick.png";a.imageMap=[26,13,30,14,32,28,27,28,28,36,18,35,18,27,16,26,16,20,16,14,19,13,22,8];a.iconSize=new GSize(49,52);a.iconAnchor=new GPoint(25,35);a.infoWindowAnchor=new GPoint(25,5);var b=new GLatLng(42.35906716,-71.0935163);this.marker=new GMarker(b,{icon:a,draggable:true});this.lastMarkerLocation=b;this.contentNode=document.createElement("div");this.contentNode.style.width="300px";this.contentNode.style.height="200px";this.contentNode.innerHTML='<div id="sv_loading">Loading...</div>';this.contentNode.style.marginTop="10px";this.contentNode.id="streetview_container";GEvent.addListener(this.marker,"dragend",function(){d.onDragEnd()});GEvent.addListener(this.marker,"click",function(){d.showBubble()})}StreetViewManager.prototype=new Object();StreetViewManager.prototype.hide=function(){if(this.panorama){this.panorama.hide()}this.map.removeOverlay(this.soverlay);this.map.removeOverlay(this.marker)};StreetViewManager.prototype.show=function(){this.map.addOverlay(this.soverlay);this.map.addOverlay(this.marker);this.onDragEnd()};StreetViewManager.prototype.showBubble=function(){var a=this;this.marker.openInfoWindow(this.contentNode);if(a.panorama){a.panorama.remove()}window.setTimeout(function(){document.getElementById("sv_loading").style.display="none";a.panorama=new GStreetviewPanorama(a.contentNode);a.currentMarker=a.marker.getLatLng();GEvent.addListener(a.panorama,"error",function(b){if(b==603){a.contentNode.innerHTML="Google Street View requires <a href='http://www.adobe.com/products/flashplayer/' >Adobe Flash</a>, which does not appear to be supported by your browser."}else{a.contentNode.innerHTML="Sorry, an unknown error has occurred: "+b}});GEvent.addListener(a.panorama,"initialized",function(b){var h=a.map.getCenter();a.marker.setLatLng(b.latlng);var d=b.latlng.lat()-a.currentMarker.lat();var g=b.latlng.lng()-a.currentMarker.lng();var e=new GLatLng(h.lat()+d,h.lng()+g);a.currentMarker=b.latlng;a.map.panTo(e);var c=a.map.getInfoWindow();var f=c.getContentContainers()[0];c.reset(b.latlng,0,new GSize(f.offsetWidth,f.offsetHeight),c.getPixelOffset())});GEvent.addListener(a.panorama,"yawchanged",function(f){var e=16;var b=360/e;if(f<0){f+=360}var d=Math.round(f/b)%e;var c="http://maps.gstatic.com/mapfiles/cb/man_arrow-"+d+".png";a.marker.setImage(c)});a.panorama.setLocationAndPOV(a.marker.getLatLng(),null)},500)};StreetViewManager.prototype.onDragEnd=function(){var b=this;var a=this.marker.getLatLng();this.client.getNearestPanorama(a,function(c){if(c.code!=200){b.marker.setLatLng(b.lastMarkerLocation)}else{var d=new GLatLng(c.Location.lat,c.Location.lng);b.marker.setLatLng(d);b.lastMarkerLocation=d;b.showBubble()}})};function MITLocationSearch(b,a){if(!a){a=this.DEFAULT_SERVER}this._sameOrigin=b;this._server=a}MITLocationSearch.prototype=new Object();MITLocationSearch.prototype.constructor=MITLocationSearch;MITLocationSearch.prototype.DEFAULT_SERVER="";MITLocationSearch.prototype.sameOrigin=false;MITLocationSearch.prototype.callbacks=new Object();MITLocationSearch.prototype.nonce=0;MITLocationSearch.prototype.search=function(c,b){if(b==null){return}if(!c){return}c=encodeURIComponent(c);var a="/search?type=query&q="+c+"&output=json";if(this._server){a="http://"+this._server+a}this.doQuery(a,b)};MITLocationSearch.prototype.findNearestObject=function(b,d,c){if(c==null){return}b=encodeURIComponent(b);d=encodeURIComponent(d);var a="/search?type=coord&q="+b+","+d+"&output=json";if(this._server){a="http://"+this._server+a}this.doQuery(a,c)};MITLocationSearch.prototype.getSuggestions=function(c,b){if(b==null){return}c=encodeURIComponent(c);var a="/search?type=suggest&q="+c+"&output=json";if(this._server){a="http://"+this._server+a}this.doQuery(a,b)};MITLocationSearch.prototype.getExactBuildingInfo=function(a,d){var c=encodeURIComponent(a);var b="/search?type=building&q="+c+"&output=json";if(this._server){b="http://"+this._server+b}this.doQuery(b,d)};MITLocationSearch.prototype.doQuery=function(a,b){if(this._sameOrigin){return this.ajaxRequest(a,b)}return this.doQueryDOM(a,b)};MITLocationSearch.prototype.doQueryDOM=function(b,e){MITLocationSearch.prototype.nonce+=1;var d=MITLocationSearch.prototype.nonce+"_record";b+="&callback=MITLocationSearch.prototype.handleResponse&arg="+d;b+="&noCacheIE="+(new Date()).getTime();var c=document.getElementsByTagName("head").item(0);var a=document.createElement("script");a.setAttribute("type","text/javascript");a.setAttribute("charset","utf-8");a.setAttribute("src",b);MITLocationSearch.prototype.callbacks[d]={callback:e,script_tag:a,head:c};c.appendChild(a)};MITLocationSearch.prototype.handleResponse=function(a,c){var d=MITLocationSearch.prototype.callbacks[c];if(d==null){alert("could not find record: "+c);return}var e=d.callback;var f=d.script_tag;var b=d.head;e(a);b.removeChild(f);delete MITLocationSearch.prototype.callbacks[c]};MITLocationSearch.prototype.ajaxRequest=function(url,callback){if(callback==null){return}var req;if(window.XMLHttpRequest){req=new XMLHttpRequest()}else{req=new ActiveXObject("MSXML2.XMLHTTP.3.0")}req.open("GET",url,true);req.onreadystatechange=function(){if(req.readyState==4&&req.status==200){callback(eval(req.responseText))}};req.send("")};(function(a){a.fn.extend({autocomplete:function(c,b){var d=typeof c=="string";b=a.extend({},a.Autocompleter.defaults,{url:d?c:null,data:d?null:c,delay:d?a.Autocompleter.defaults.delay:10,max:b&&!b.scroll?10:150},b);b.highlight=b.highlight||function(e){return e};b.formatMatch=b.formatMatch||b.formatItem;return this.each(function(){new a.Autocompleter(this,b)})},result:function(b){return this.bind("result",b)},search:function(b){return this.trigger("search",[b])},flushCache:function(){return this.trigger("flushCache")},setOptions:function(b){return this.trigger("setOptions",[b])},unautocomplete:function(){return this.trigger("unautocomplete")}});a.Autocompleter=function(l,k){var b={UP:38,DOWN:40,DEL:46,TAB:9,RETURN:13,ESC:27,COMMA:188,PAGEUP:33,PAGEDOWN:34,BACKSPACE:8};var c=a(l).attr("autocomplete","off").addClass(k.inputClass);var f;var v="";var m=a.Autocompleter.Cache(k);var g=0;var t;var p={mouseDownOnSelect:false};var u=a.Autocompleter.Select(k,l,e,p);var w;a.browser.opera&&a(l.form).bind("submit.autocomplete",function(){if(w){w=false;return false}});c.bind((a.browser.opera?"keypress":"keydown")+".autocomplete",function(z){t=z.keyCode;switch(z.keyCode){case b.UP:z.preventDefault();if(u.visible()){u.prev()}else{s(0,true)}break;case b.DOWN:z.preventDefault();if(u.visible()){u.next()}else{s(0,true)}break;case b.PAGEUP:z.preventDefault();if(u.visible()){u.pageUp()}else{s(0,true)}break;case b.PAGEDOWN:z.preventDefault();if(u.visible()){u.pageDown()}else{s(0,true)}break;case k.multiple&&a.trim(k.multipleSeparator)==","&&b.COMMA:case b.TAB:var y=u.selected();if(y){z.preventDefault();c.val(y.result)}break;case b.RETURN:if(e()){z.preventDefault();w=true;return false}break;case b.ESC:u.hide();break;default:clearTimeout(f);f=setTimeout(s,k.delay);break}}).focus(function(){g++}).blur(function(){g=0;if(!p.mouseDownOnSelect){r()}}).click(function(){if(g++>1&&!u.visible()){s(0,true)}}).bind("search",function(){var y=(arguments.length>1)?arguments[1]:null;function z(D,C){var B;if(C&&C.length){for(var A=0;A<C.length;A++){if(C[A].result.toLowerCase()==D.toLowerCase()){B=C[A];break}}}if(typeof y=="function"){y(B)}else{c.trigger("result",B&&[B.data,B.value])}}a.each(j(c.val()),function(A,B){i(B,z,z)})}).bind("flushCache",function(){m.flush()}).bind("setOptions",function(){a.extend(k,arguments[1]);if("data" in arguments[1]){m.populate()}}).bind("unautocomplete",function(){u.unbind();c.unbind();a(l.form).unbind(".autocomplete")});function e(){var z=u.selected();if(!z){q();return false}var y=z.result;v=y;if(k.multiple){var A=j(c.val());if(A.length>1){y=A.slice(0,A.length-1).join(k.multipleSeparator)+k.multipleSeparator+y}y+=k.multipleSeparator}c.val(y);q();c.trigger("result",[z.data,z.value]);return true}function s(A,z){if(t==b.DEL){u.hide();return}var y=c.val();if(!z&&y==v){return}v=y;y=h(y);if(y.length>=k.minChars){c.addClass(k.loadingClass);if(!k.matchCase){y=y.toLowerCase()}i(y,d,q)}else{x();u.hide()}}function j(z){if(!z){return[""]}var A=z.split(k.multipleSeparator);var y=[];a.each(A,function(B,C){if(a.trim(C)){y[B]=a.trim(C)}});return y}function h(y){if(!k.multiple){return y}var z=j(y);return z[z.length-1]}function o(y,z){if(k.autoFill&&(h(c.val()).toLowerCase()==y.toLowerCase())&&t!=b.BACKSPACE){c.val(c.val()+z.substring(h(v).length));a.Autocompleter.Selection(l,v.length,v.length+z.length)}}function r(){clearTimeout(f);f=setTimeout(q,200)}function q(){var y=u.visible();u.hide();clearTimeout(f);x();if(k.mustMatch){c.search(function(z){if(!z){if(k.multiple){var A=j(c.val()).slice(0,-1);c.val(A.join(k.multipleSeparator)+(A.length?k.multipleSeparator:""))}else{c.val("")}}})}if(y){a.Autocompleter.Selection(l,l.value.length,l.value.length)}}function d(z,y){if(y&&y.length&&g){x();u.display(y,z);o(z,y[0].value);u.show()}else{q()}}function i(z,B,y){if(!k.matchCase){z=z.toLowerCase()}var A=m.load(z);if(A&&A.length){B(z,A)}else{if((typeof k.url=="string")&&(k.url.length>0)){var C={timestamp:+new Date()};a.each(k.extraParams,function(D,E){C[D]=typeof E=="function"?E():E});a.ajax({mode:"abort",port:"autocomplete"+l.name,dataType:k.dataType,url:k.url,data:a.extend({q:h(z),limit:k.max},C),success:function(E){var D=k.parse&&k.parse(E)||n(E);m.add(z,D);B(z,D)}})}else{u.emptyList();y(z)}}}function n(B){var z=[];var A=B.split("\n");for(var y=0;y<A.length;y++){var C=a.trim(A[y]);if(C){C=C.split("|");z[z.length]={data:C,value:C[0],result:k.formatResult&&k.formatResult(C,C[0])||C[0]}}}return z}function x(){c.removeClass(k.loadingClass)}};a.Autocompleter.defaults={inputClass:"ac_input",resultsClass:"ac_results",loadingClass:"ac_loading",minChars:1,delay:400,matchCase:false,matchSubset:true,matchContains:false,cacheLength:10,max:100,mustMatch:false,extraParams:{},selectFirst:true,formatItem:function(b){return b[0]},formatMatch:null,autoFill:false,width:0,multiple:false,multipleSeparator:", ",highlight:function(c,b){return c.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+b.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>")},scroll:true,scrollHeight:180};a.Autocompleter.Cache=function(d){var f={};var c=0;function h(l,k){if(!d.matchCase){l=l.toLowerCase()}var j=l.indexOf(k);if(j==-1){return false}return j==0||d.matchContains}function g(j,i){if(c>d.cacheLength){b()}if(!f[j]){c++}f[j]=i}function e(){if(!d.data){return false}var j={},p=0;if(!d.url){d.cacheLength=1}j[""]=[];for(var l=0,k=d.data.length;l<k;l++){var o=d.data[l];o=(typeof o=="string")?[o]:o;var n=d.formatMatch(o,l+1,d.data.length);if(n===false){continue}var m=n.charAt(0).toLowerCase();if(!j[m]){j[m]=[]}var q={value:n,data:o,result:d.formatResult&&d.formatResult(o)||n};j[m].push(q);if(p++<d.max){j[""].push(q)}}a.each(j,function(r,s){d.cacheLength++;g(r,s)})}setTimeout(e,25);function b(){f={};c=0}return{flush:b,add:g,populate:e,load:function(n){if(!d.cacheLength||!c){return null}if(!d.url&&d.matchContains){var m=[];for(var j in f){if(j.length>0){var o=f[j];a.each(o,function(p,k){if(h(k.value,n)){m.push(k)}})}}return m}else{if(f[n]){return f[n]}else{if(d.matchSubset){for(var l=n.length-1;l>=d.minChars;l--){var o=f[n.substr(0,l)];if(o){var m=[];a.each(o,function(p,k){if(h(k.value,n)){m[m.length]=k}});return m}}}}}return null}}};a.Autocompleter.Select=function(f,j,p,l){var i={ACTIVE:"ac_over"};var s,d=-1,q,m="",r=true,h,o;function n(){if(!r){return}h=a("<div/>").hide().addClass(f.resultsClass).css("position","absolute").appendTo(document.body);o=a("<ul/>").appendTo(h).mouseover(function(t){if(k(t).nodeName&&k(t).nodeName.toUpperCase()=="LI"){d=a("li",o).removeClass(i.ACTIVE).index(k(t));a(k(t)).addClass(i.ACTIVE)}}).click(function(t){a(k(t)).addClass(i.ACTIVE);p();j.focus();return false}).mousedown(function(){l.mouseDownOnSelect=true}).mouseup(function(){l.mouseDownOnSelect=false});if(f.width>0){h.css("width",f.width)}r=false}function k(u){var t=u.target;while(t&&t.tagName!="LI"){t=t.parentNode}if(!t){return[]}return t}function c(t){s.slice(d,d+1).removeClass(i.ACTIVE);e(t);var v=s.slice(d,d+1).addClass(i.ACTIVE);if(f.scroll){var u=0;s.slice(0,d).each(function(){u+=this.offsetHeight});if((u+v[0].offsetHeight-o.scrollTop())>o[0].clientHeight){o.scrollTop(u+v[0].offsetHeight-o.innerHeight())}else{if(u<o.scrollTop()){o.scrollTop(u)}}}}function e(t){d+=t;if(d<0){d=s.size()-1}else{if(d>=s.size()){d=0}}}function b(t){return f.max&&f.max<t?f.max:t}function g(){o.empty();var u=b(q.length);for(var v=0;v<u;v++){if(!q[v]){continue}var w=f.formatItem(q[v].data,v+1,u,q[v].value,m);if(w===false){continue}var t=a("<li/>").html(f.highlight(w,m)).addClass(v%2==0?"ac_even":"ac_odd").appendTo(o)[0];a.data(t,"ac_data",q[v])}s=o.find("li");if(f.selectFirst){s.slice(0,1).addClass(i.ACTIVE);d=0}if(a.fn.bgiframe){o.bgiframe()}}return{display:function(u,t){n();q=u;m=t;g()},next:function(){c(1)},prev:function(){c(-1)},pageUp:function(){if(d!=0&&d-8<0){c(-d)}else{c(-8)}},pageDown:function(){if(d!=s.size()-1&&d+8>s.size()){c(s.size()-1-d)}else{c(8)}},hide:function(){h&&h.hide();s&&s.removeClass(i.ACTIVE);d=-1},visible:function(){return h&&h.is(":visible")},current:function(){return this.visible()&&(s.filter("."+i.ACTIVE)[0]||f.selectFirst&&s[0])},show:function(){var v=a(j).offset();h.css({width:typeof f.width=="string"||f.width>0?f.width:a(j).width(),top:v.top+j.offsetHeight,left:v.left}).show();if(f.scroll){o.scrollTop(0);o.css({maxHeight:f.scrollHeight,overflow:"auto"});if(a.browser.msie&&typeof document.body.style.maxHeight==="undefined"){var t=0;s.each(function(){t+=this.offsetHeight});var u=t>f.scrollHeight;o.css("height",u?f.scrollHeight:t);if(!u){s.width(o.width()-parseInt(s.css("padding-left"))-parseInt(s.css("padding-right")))}}}},selected:function(){var t=s&&s.filter("."+i.ACTIVE).removeClass(i.ACTIVE);return t&&t.length&&a.data(t[0],"ac_data")},emptyList:function(){o&&o.empty()},unbind:function(){h&&h.remove()}}};a.Autocompleter.Selection=function(d,e,c){if(d.createTextRange){var b=d.createTextRange();b.collapse(true);b.moveStart("character",e);b.moveEnd("character",c);b.select()}else{if(d.setSelectionRange){d.setSelectionRange(e,c)}else{if(d.selectionStart){d.selectionStart=e;d.selectionEnd=c}}}d.focus()}})(jQuery);function MITCampusMap(c,j,b,h,i){this._cache=new Object();var g=this;this.startRequestCallback=i.startRequestCallback;this.endRequestCallback=i.endRequestCallback;this.showResultsPane=i.showResultsPaneFn;this.hideResultsPane=i.hideResultsPaneFn;this.currentQueryString=null;function e(o,p,n){function m(q){g.callEndRequestCallback();g.addMarkerNearestClick(q,n,p)}if(p&&n){closeLink();g.callStartRequestCallback();g.backend.findNearestObject(n,p,m)}}function a(o,m,n){if(o){closeLink();g.removeMarkerNearestClick(o)}}function f(){closeLink()}this.map=new c(b,e,a,f,f);this.backend=new j(true);function l(m,n){g.backend.getSuggestions(m,n)}this.autoComplete=null;if(i){var d=i.autocompleteClass;var k=i.searchBox;if(d&&k){this.autoComplete=new d(k,null,l)}}this.searchResultsDiv=document.getElementById(h);if(!this.searchResultsDiv){}else{MITCampusMap.prototype.DEFAULT_RESULTS=this.searchResultsDiv.innerHTML}this.query=this.parseQueryString(window.location.href)}MITCampusMap.prototype=new Object();MITCampusMap.prototype.loadMap=function(i,d){if(!i){i=new Object()}if(this.query.section&&this.query.section.length){if(this.query.section[0]=="directions"){document.location="/directions.html";return}if(this.query.section[0]=="print"){document.location="/print.html";return}if(this.query.section[0].match("^about")){document.location="/about.html";return}}var j=null;if(this.query.zoom&&this.query.zoom.length){j=this.query.zoom[0]}if(j==null){if(this.query.mapterms||this.query.selection){i.zoom=17}}else{if(j=="full"){i.zoom=15}else{if(j=="level6"||j=="level5"){i.zoom=16}else{if(j=="level4"||j=="level3"){i.zoom=17}else{if(j=="level2"||j=="level1"){i.zoom=18}else{if(parseInt(j)>=this.map.minImgZoom&&parseInt(j)<=this.map.maxImgZoom){i.zoom=parseInt(j)}}}}}}this.map.loadMap(i);var l=this.query.open;var e=l&&(this.query.open=="-1");var k=l&&(this.query.open!="-1");var g=l;var f=this;if(f.hideResultsPane&&f.query.fullsize&&f.query.fullsize[0]!="0"){f.hideResultsPane(true)}if(f.query.lat&&f.query.lng){f.map.setCenter(f.query.lat,f.query.lng)}function b(){if(k){f.map.openInfoWindow(f.query.open[0])}if(d){d()}}function c(){if(f.query.clk){function m(q,o){if(q.length==0){for(var n=0;n<o.length;++n){f.addMarkerNearestClick([o[n]],o[n].long_wgs84,o[n].lat_wgs84,true)}b();return}function p(s,t){return function(u){t=t.concat(u);m(s,t)}}var r=q.shift();f.backend.getExactBuildingInfo(r,p(q,o))}m(f.query.clk,new Array())}else{b()}}if(this.query.mapterms){var a=this.query.mapterms[0].replace("+","%20");this.search(decodeURIComponent(a),function(){c()},true,g)}else{if(this.query.selection){function h(p,m,n){if(p.length==0){f.handleSearchResults(n,m,true,g);c();return}function o(r,s){return function(t){s=s.concat(t);h(r,s,n)}}var q=p.shift();f.backend.getExactBuildingInfo(q,o(p,m))}h(this.query.selection,new Array(),this.query.selection.join(", "))}else{c()}}};MITCampusMap.prototype.resizeMap=function(){this.map.resizeMap()};MITCampusMap.prototype.unloadMap=function(){this.map.unloadMap()};MITCampusMap.prototype.hideMapControls=function(){return this.map.hideLargeLeftControls()};MITCampusMap.prototype.displayMapControls=function(a){return this.map.displayLargeLeftControls(a)};MITCampusMap.prototype.search=function(d,b,c,a){if(!d){return}this.callStartRequestCallback();var e=this;this.backend.search(d,function(f){e.handleSearchResults(d,f,c,a);e.callEndRequestCallback();if(b){b()}})};MITCampusMap.prototype.removeAllMarkers=function(){closeLink();return this.map.removeAllMarkers()};MITCampusMap.prototype.clearSearchMarkers=function(){closeLink();this.currentQueryString=null;return this.map.removeMarkersByType("SEARCH")};MITCampusMap.prototype.clearResults=function(){closeLink();this.currentQueryString=null;if(this.searchResultsDiv){this.searchResultsDiv.innerHTML=MITCampusMap.prototype.DEFAULT_RESULTS}};MITCampusMap.prototype.clearAll=function(){closeLink();this.clearResults();this.removeAllMarkers()};MITCampusMap.prototype.addMarkerNearestClick=function(l,f,e,g){if(l.length==0){return}var h=l[0];var c=h.id;var b=h.name;var j=h.lat_wgs84;var k=h.long_wgs84;var a=new GLatLng(e,f);var i=a.distanceFrom(new GLatLng(j,k));if(!(i<150/Math.pow(1.8,this.map.getZoom()-15))){return}var d=this.generate_detailed_description(h);var m=d!=null;this.map.placeMarker(c,j,k,this.generate_short_description(h,m),d,b,"CLK","http://www.google.com/intl/en_ALL/mapfiles/marker_purple.png");if(!g){this.map.panToMarker(c,true)}};MITCampusMap.prototype.removeMarkerNearestClick=function(a){this.map.removeMarker(a)};MITCampusMap.prototype.handleSearchResults=function(c,b,f,g){if(!this.searchResultsDiv){return}this.map.closeInfoWindow();var e=$(this.searchResultsDiv);this.clearSearchMarkers();this.currentQueryString=$("<span/>").text(c);if(b.length==0){e.html("").append($("<span/>").html("Your query for ")).append($("<b/>").append(this.currentQueryString)).append($("<span/>").html(" returned no results."));if(!f){this.showResultsPane(false)}return}var h=this;var d=$("<div/>");d.append($("<div/>").css({"padding-bottom":"15px","text-align":"left"}).append($("<span/>").html("[ ")).append($("<a/>").attr({href:"",id:"_clear_all"}).text("Clear Results").click(function(){h.clearSearchMarkers();h.clearResults();return false})).append($("<span/>").html(" ]")));d.append($("<span/>").append($("<span/>").text("Your query for ")).append($("<strong/>").append(this.currentQueryString)).append($("<span/>").text(" returned:")));var a=$("<ul/>").addClass("search_results_list");jQuery.each(b,function(u,p){var n=p.id;var v=p.bldgnum;var m=p.name;var B=p.snippets?p.snippets.join(", "):"";var w=p.lat_wgs84;var y=p.long_wgs84;var z=$("<li/>").addClass("search_results_item");z.append($("<div/>").addClass("search_results_title").append($("<a/>").attr({href:"",id:n}).html(m).click(function(){h.handleResultSelection(n,p);return false})));if(v){z.append($("<div/>").addClass("search_results_bldgnum").html("Building "+v))}if(B&&(B!=v)&&(B!=m)){var t=c.split(" ");var l=B.split(" ");for(var s=0;s<l.length;++s){for(var r=0;r<t.length;++r){var q=l[s].toLowerCase().indexOf(t[r].toLowerCase());if(q!=-1){l[s]=l[s].substring(0,q)+"<strong>"+l[s].substring(q,q+t[r].length)+"</strong>"+l[s].substring(q+t[r].length);break}}}var x=z.append($("<div/>").addClass("search_results_snippets").html(l.join(" ")+"..."))}a.append(z);var o=h.generate_detailed_description(p);var A=o!=null;h.map.placeMarker(n,w,y,h.generate_short_description(p,A),o,m,"SEARCH");if(b.length==1&&(!g)){h.map.panToMarker(n,true)}});d.append(a);e.html("");e.append(d);if(b.length>1){if(!f){this.showResultsPane(false)}}};MITCampusMap.prototype.handleResultSelection=function(b,d){if(!this.map.panToMarker(b,true)){var b=d.id;var e=d.bldgnum;var a=d.name;var i=d.snippets.join(", ");var f=d.lat_wgs84;var g=d.long_wgs84;var c=this.generate_detailed_description(d);var h=c!=null;this.map.placeMarker(b,f,g,this.generate_short_description(d,h),c,a,"SEARCH");this.map.panToMarker(b,true)}};MITCampusMap.prototype.generate_short_description=function(h,o){var g=h.id;var m=h.bldgnum;var f=h.name;var e=h.website;var l=$("<div/>").addClass("short_description");var p=$("<div/>").addClass("short_description_title");if(e){p.append($("<a/>").attr({href:e,target:"_blank"}).html(f))}else{p.html(f)}l.append(p);var k=this;var j=$("<div/>").addClass("short_description_bldgnum");if(m){j.append($("<span/>").html("Building "+m));j.append($("<span/>").html(" &mdash; "))}l.append(j);var n=$("<div/>").addClass("permalink_box");var b=$(document.createElement("input")).addClass("permalink_box");var a=g.replace(/^object-/,"");b.attr({type:"text",value:""});n.css("display","none");n.append(b);l.append(n);var d=$("<div/>").addClass("short_description_contents");l.append(d);var i=$("<a/>");var c=this.map;i.attr({href:""}).html("Link To This Marker").click(function(){if(n.css("display")=="block"){i.html("Link To This Marker");n.css("display","none");d.css("display","block")}else{var q="";if(!areResultsVisible()){q="&fullsize=1"}b.attr({value:window.location.protocol+"//"+window.location.hostname+window.location.pathname+"?selection="+a+"&zoom="+c.getZoom()+q});n.css("display","block");b.select();d.css("display","none");i.html("Hide Link")}return false});j.append(i);if(h.contents){jQuery.each(h.contents,function(q,s){if(q>=3){return}var r=$("<div/>").addClass("short_description_contents_item");if(s.url){r.append($("<a/>").attr({href:s.url,target:"_blank"}).text(s.name))}else{r.text(s.name)}d.append(r)})}if(o){d.append($("<div/>").addClass("short_description_contents_item_more").append($("<a/>").attr({href:"",id:g+"_more_link"}).html("<em>additional details</em> &raquo;").click(function(){k.map.maximizeCurrentOpenMarker();return false})))}return l.get(0)};MITCampusMap.prototype.generate_detailed_description=function(m){var o=m.category;var j=m.bldgnum;var p=m.name;var h=m.mailing;var u=m.street;var e=m.city||"Cambridge, MA 02139";var t=m.architect;var d=m.bldgimg;var i=m.floorplans;var q=m.contents;var n=m.viewangle;var g=m.website;if((!q||(q.length<4))&&!i&&!h&&!u&&!d&&!t){return null}var c=$("<div/>").addClass("dinfo_container");var r=$("<div/>").addClass("dinfo_header");if(g){r.append($("<div/>").addClass("dinfo_title").append($("<a/>").attr({href:g,target:"_blank"}).html(p)))}else{r.append($("<div/>").addClass("dinfo_title").html(p))}c.append(r);if(j){var s=$("<div/>").addClass("dinfo_title_caption").append($("<span/>").addClass("dinfo_building_number").html("Building "+j));r.append(s)}var l=$("<div/>").addClass("dinfo_imagery");if(d){l.append($("<div/>").addClass("dinfo_image").append($("<img/>").attr({src:d})))}if(n){l.append($("<div/>").addClass("dinfo_view_angle").html("View from: "+n))}if(t){l.append($("<div/>").addClass("dinfo_architect").append($("<span/>").addClass("dinfo_architect_label").text("Architect: ")).append($("<span/>").html(t)))}c.append(l);var f=$("<div/>").addClass("dinfo_addresses");if(u){f.append($("<div/>").addClass("dinfo_street_address_container").append($("<div/>").addClass("dinfo_street_address_label").html("Street Address:")).append($("<div/>").addClass("dinfo_street_address").html(u)))}if(h){f.append($("<div/>").addClass("dinfo_mailing_address_container").append($("<div/>").addClass("dinfo_mailing_address_label").html("Mailing Address: ")).append($("<div/>").addClass("dinfo_mailing_address").html(h+"<br/>"+e)))}c.append(f);if(i&&j){var a=$("<div/>").addClass("dinfo_floorplans");a.append($("<div/>").addClass("dinfo_floorplans_label").append($("<div/>").addClass("dinfo_floorplans_label_link").append($("<a/>").attr({href:"https://floorplans.mit.edu/ListPDF.Asp?Bldg="+j,target:"_target"}).html("Floorplans"))).append($("<div/>").addClass("dinfo_floorplans_label_caption").append($("<span/>").html("(MIT access only: ")).append($("<a/>").attr({href:"http://www.adobe.com/products/acrobat/readstep2.html",target:"_blank"}).html("Adobe Acrobat Reader")).append($("<span/>").html(" required)"))));var b=$("<div/>").addClass("dinfo_floorplan_links");jQuery.each(i,function(v,w){b.append($("<a/>").addClass("adinfo").attr({href:"https://floorplans.mit.edu/pdfs/"+j+"_"+w+".pdf",target:"_blank"}).html(w)).append($("<span/>").html(" "))});a.append(b);c.append(a)}if(q){var k=$("<div/>");k.append($("<div/>").addClass("dinfo_contents_label").text("Here you will find:"));contentlist=$("<div/>").addClass("dinfo_contents_list");jQuery.each(q,function(x,z){var w=z.url;var v=z.name;if(!v){return}var y=$("<div/>").addClass("dinfo_contents_name");if(w){y.append($("<a/>").attr({href:w,target:"_blank"}).html(v))}else{y.html(v)}contentlist.append(y)});k.append(contentlist);c.append(k)}return c.get(0)};MITCampusMap.prototype.gup=function(a){a=a.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");var c="[\\?&]"+a+"=([^&#]*)";var d=new RegExp(c);var b=d.exec(window.location.href);if(b==null){return""}else{return b[1]}};MITCampusMap.prototype.callStartRequestCallback=function(){if(this.startRequestCallback){this.startRequestCallback()}};MITCampusMap.prototype.callEndRequestCallback=function(){if(this.endRequestCallback){this.endRequestCallback()}};MITCampusMap.prototype.parseQueryString=function(b){var g=new Object();var j=b.split("?");if(j.length<2){return g}j.shift();j=j.join("&");j=j.split(";").join("&");var a=j.split("&");for(var d=0;d<a.length;++d){var e=a[d].split("=");if(e.length<2){continue}var c=e[0];var k=e[1];if(!g[c]){g[c]=new Array()}g[c].push(k)}return g};var map=null;var leftBorder=294;function startLoadMap(){function c(d){$("#query").attr("disabled",!d);$("#submit_button").attr("disabled",!d);$("#reset_button").attr("disabled",!d);var f=d?"visible":"hidden";$("#loading").css("visibility",f);var e=d?"block":"none";$("#map_javascript_error").css("display",e);$("#welcometext").css("display",e);if(/Mac/.test(navigator.platform)){$("#clicktype").text("Control-")}}if(!GBrowserIsCompatible()){c(false);return}c(true);map=new MITCampusMap(MITGoogleMapsFrontEnd,MITLocationSearch,"map","search_results",{startRequestCallback:startRequestCallback,endRequestCallback:endRequestCallback,hideResultsPaneFn:hideResultsPane,showResultsPaneFn:showResultsPane});$("#query").autocomplete("/search",{extraParams:{type:"suggest",output:"plain"},delay:50,scroll:false,selectFirst:false}).result(function(e,d,f){onSubmit()});window.onresize=function(){resizeHeight();map.resizeMap()};resizeHeight();function b(){$("#feedbacklink").click(function(){if($("#feedbackbox").css("visibility")=="visible"){$("#feedbackbox").css("visibility","hidden")}else{$("#feedbackbox").css("visibility","visible")}return false});$("#loading").hide();$("#query").focus()}var a={streetview:true};if(window.mapoverride){if(window.mapoverride.lat){a.center_lat=window.mapoverride.lat}if(window.mapoverride.lng){a.center_long=window.mapoverride.lng}if(window.mapoverride.zoom){a.zoom=window.mapoverride.zoom}}map.loadMap(a,b)}function resizeHeight(){function h(){if(window.self&&self.innerHeight){return self.innerHeight}if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight}if(document.body&&document.body.clientHeight){return document.body.clientHeight}return 0}var g=document.getElementById("map_container");var b=0;for(var f=g;f;f=f.offsetParent){b+=f.offsetTop}var e=h();var a=document.getElementById("footerContainer").offsetHeight;var c=e-b-a-8;if(c>=0){c=c>300?c:300;g.style.height=c+"px";document.getElementById("map").style.height=c+"px";document.getElementById("search_results").style.height=(c-10)+"px"}}function onSubmit(){map.search($("#query").val())}function startRequestCallback(a){if(!a){$("#loading").show()}}function endRequestCallback(){setTimeout(function(){$("#loading").hide()},350)}function unload(){if(map){map.unloadMap()}}function toggleResultsPane(){if(areResultsVisible()){hideResultsPane(false)}else{showResultsPane()}}function areResultsVisible(){return $("#search_results").attr("offsetLeft")>=0}function showResultsPane(){if(areResultsVisible()){return}var d=map.map.gmap;var a=d.getCurrentMapType();var b=a.getProjection();var c=b.fromLatLngToPixel(d.getCenter(),d.getZoom());c.x=c.x+leftBorder;var e=b.fromPixelToLatLng(c,d.getZoom());$("#collapse").hide();map.hideMapControls();$("#search_results").animate({left:"0px"},250,"linear",function(){if(map){$("#map").css({marginRight:leftBorder+"px",left:leftBorder+"px"});map.map.gmap.setCenter(e);map.map.gmap.setZoom(map.map.gmap.getZoom());map.displayMapControls(0);map.resizeMap()}$("#expand").show()})}function hideResultsPane(b){if(!areResultsVisible()){return}var e=map.map.gmap;var a=e.getCurrentMapType();var c=a.getProjection();var d=c.fromLatLngToPixel(e.getCenter(),e.getZoom());d.x=d.x-leftBorder;var f=c.fromPixelToLatLng(d,e.getZoom());$("#expand").hide();map.hideMapControls();$("#map").css({marginRight:"0px",left:"0px"});map.map.gmap.setCenter(f);map.resizeMap();e.setZoom(e.getZoom());if(b){$("#search_results").css("left",(-(leftBorder+1))+"px");if(map){map.displayMapControls(0);$("#collapse").show()}}else{$("#search_results").animate({left:(-(leftBorder+1))+"px"},250,"linear",function(){if(map){map.displayMapControls(0);$("#collapse").show()}})}}function closeLink(){$("#maplink").css("display","none")}function toggleLink(){if($("#maplink").css("display")=="block"){closeLink();return}var a=generateLink();$("#maplink_box").attr({value:a});$("#maplink").css("display","block");$("#maplink_box").select()}function generateEmail(){var b=generateLink();b=b.replace(/%/g,"%25");b=b.replace(/&/g,"%26");var a="mailto:?subject=MIT%20Map%20Link&body="+b;$("#mailink").attr("href",a);return}function generateLink(){var c="";if(!areResultsVisible()){c="&fullsize=1"}var j=map.map.getMarkers("CLK");var g="";if(map.currentQueryString){g="mapterms="+encodeURI(map.currentQueryString.text())+"&"}var e="";for(var d=0;d<j.length;++d){var a=j[d].replace(/^object-/,"");e=e+"clk="+a+"&"}var k=map.map.getZoom();var f=map.map.getCenter();var h=map.map.getOpenWindowMarker();if(h){h="&open="+h}else{h="&open=-1"}var b=window.location.protocol+"//"+window.location.hostname+window.location.pathname+"?"+g+e+"zoom="+k+"&lat="+f.latitude+"&lng="+f.longitude+c+h;return b};