var groups = new Array();
var map = null;
function initialize() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("cjasMapCanvas"));
    map.removeMapType(G_SATELLITE_MAP);
    map.removeMapType(G_HYBRID_MAP);
    // Create a tile layer consisting of the Cornell campus map.
    var tileLayer = new GTileLayer(null, 14, 17, {
      opacity: 0.8,
      isPng: true
    });
    tileLayer.getTileUrl = getTileUrl;
    // Create an overlay for the campus map.
    var campusMapLayer = new GTileLayerOverlay(tileLayer);
    map.enableScrollWheelZoom();
    map.enableContinuousZoom();
    map.addControl(new GScaleControl());
    map.addControl(new GLargeMapControl());
        map.setCenter(new GLatLng(42.4495, -76.4836),
      16);
    map.addOverlay(campusMapLayer);
    // Small marker icon.
    var tinyIcon = new GIcon();
    tinyIcon.image = 'icons/mm_20_red.png';
    tinyIcon.shadow = 'icons/mm_20_shadow.png';
    tinyIcon.iconSize = new GSize(12, 20);
    tinyIcon.shadowSize = new GSize(22, 20);
    tinyIcon.iconAnchor = new GPoint(6, 20);
    tinyIcon.infoWindowAnchor = new GPoint(5, 1);
    var tinyMarkerOpts = {icon: tinyIcon};
    // Arrow marker icon.
    var tinyIcon = new GIcon();
    tinyIcon.image = 'icons/arrow.png';
    tinyIcon.shadow = 'icons/arrowshadow.png';
    tinyIcon.iconSize = new GSize(39, 34);
    tinyIcon.shadowSize = new GSize(39, 34);
    tinyIcon.iconAnchor = new GPoint(12, 34);
    tinyIcon.infoWindowAnchor = new GPoint(9, 2);
    var arrowMarkerOpts = {icon: tinyIcon};
    // Base for large marker icon.
    var baseIcon = new GIcon();
    baseIcon.shadow = "icons/shadow50.png";
    baseIcon.iconSize = new GSize(20, 34);
    baseIcon.shadowSize = new GSize(37, 34);
    baseIcon.iconAnchor = new GPoint(9, 34);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);
    baseIcon.infoShadowAnchor = new GPoint(18, 25);
          _createMarker_icon = new GIcon(baseIcon);
      _createMarker_icon.image = "icons/markerA.png";
    marker = new GMarker(new GLatLng(42.4495, -76.4836), {icon: _createMarker_icon});map.addOverlay(marker);marker.bindInfoWindowHtml('
Goldwin Smith Hall
Weekly Showing
Saturdays 7 p.m. – 11 p.m.
Lewis Auditorium
E-board
Fridays 5 p.m. – 6 p.m.
Room 156
Appel Commons
186 Cradit Farm Drive
Manga Club
Wednesdays 7 p.m. – 9 p.m.
Room 302B
Clock tower
');if (groups['central'] == null)groups['central'] = new Array();groups['central']['Clock tower'] = marker;marker = new GMarker(new GLatLng(42.4499, -76.4845), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Arts Quad
College of Arts and Sciences
Engineering Quad
');if (groups['central'] == null)groups['central'] = new Array();groups['central']['Engineering Quad'] = marker;marker = new GMarker(new GLatLng(42.4488, -76.478), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Ag Quad
College of Agriculture and Life Sciences
Schwartz Center (Collegetown)
');if (groups['central'] == null)groups['central'] = new Array();groups['central']['Schwartz Center (Collegetown)'] = marker;marker = new GMarker(new GLatLng(42.44732, -76.46623), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Vet Research Tower
College of Veterinary Medicine
618 Tower Road
Robert Purcell Community Center
');if (groups['ugrad'] == null)groups['ugrad'] = new Array();groups['ugrad']['Robert Purcell Community Center'] = marker;marker = new GMarker(new GLatLng(42.4465, -76.4881), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Noyes Community Center
');if (groups['ugrad'] == null)groups['ugrad'] = new Array();groups['ugrad']['Noyes Community Center'] = marker;marker = new GMarker(new GLatLng(42.4531, -76.4819), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Risley Hall
');if (groups['ugrad'] == null)groups['ugrad'] = new Array();groups['ugrad']['Risley Hall'] = marker;marker = new GMarker(new GLatLng(42.442485, -76.486838), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Cascadilla Hall
');if (groups['ugrad'] == null)groups['ugrad'] = new Array();groups['ugrad']['Cascadilla Hall'] = marker;marker = new GMarker(new GLatLng(42.4563, -76.472), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Hasbrouck Community Center
');if (groups['grad'] == null)groups['grad'] = new Array();groups['grad']['Hasbrouck Community Center'] = marker;marker = new GMarker(new GLatLng(42.4411, -76.474), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Maplewood Community Center
');if (groups['grad'] == null)groups['grad'] = new Array();groups['grad']['Maplewood Community Center'] = marker;marker = new GMarker(new GLatLng(42.4437, -76.4863), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Hughes Hall
');if (groups['grad'] == null)groups['grad'] = new Array();groups['grad']['Hughes Hall'] = marker;marker = new GMarker(new GLatLng(42.4402, -76.492), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Schuyler House
');if (groups['grad'] == null)groups['grad'] = new Array();groups['grad']['Schuyler House'] = marker;marker = new GMarker(new GLatLng(42.45348, -76.48659), tinyMarkerOpts);map.addOverlay(marker);marker.bindInfoWindowHtml('Thurston Court
');if (groups['grad'] == null)groups['grad'] = new Array();groups['grad']['Thurston Court'] = marker;toggleMarkerGroup('central');toggleMarkerGroup('ugrad');toggleMarkerGroup('grad');GEvent.trigger(groups['event']['Goldwin Smith Hall'], 'click');  }
}
/**
 * Converts tile IDs into tile image URLs.
 */
function getTileUrl(tile, zoom) {
  if (zoom == 17 &&
      37685 <= tile.x && tile.x <= 37697 &&
      48430 <= tile.y && tile.y <= 48440)
    return "tiles/" + tile.x + "_"
      + tile.y + "_17.png";
  if (zoom == 16 &&
      18842 <= tile.x && tile.x <= 18848 &&
      24215 <= tile.y && tile.y <= 24220)
    return "tiles/" + tile.x + "_"
      + tile.y + "_16.png";
  if (zoom == 15 &&
      9421 <= tile.x && tile.x <= 9424 &&
      12107 <= tile.y && tile.y <= 12109)
    return "tiles/" + tile.x + "_"
      + tile.y + "_15.png";
  if (zoom == 14 &&
      4710 <= tile.x && tile.x <= 4712 &&
      6053 <= tile.y && tile.y <= 6054)
    return "tiles/" + tile.x + "_"
      + tile.y + "_14.png";
  return "tiles/blank.png";
}
function toggleMarkerGroup(groupName) {
  var groupDOM = document.getElementById('cjasMarkerGroup' + groupName);
  var makingVisible =
    (groupDOM.className.split(" ")[0] == "cjasMarkerGroupCollapsed");
  groupDOM.className =
    (makingVisible ? "cjasMarkerGroupExpanded" : "cjasMarkerGroupCollapsed")
      + " cjasMarkerGroup";
  var group = groups[groupName];
  for (var name in group) {
    var marker = group[name];
    if (makingVisible) marker.show();
    else {
      marker.closeInfoWindow();
      marker.hide();
    }
  }
}
var oldHeight = 0;
var oldWidth = 0;
function resizeElements() {
  var windowHeight =
    window.innerHeight != null
      ? window.innerHeight : document.documentElement.clientHeight;
  var windowWidth =
    window.innerWidth != null
      ? window.innerWidth : document.documentElement.clientWidth;
  if (windowHeight == oldHeight && windowWidth == oldWidth) return;
  var newHeight = windowHeight - 126;
  controlDiv.style.height = (newHeight+2) + 'px';
  mapDiv.style.height = newHeight + 'px';
  mapDiv.style.width = (windowWidth - parseInt(mapDiv.offsetLeft) - 3) + 'px';
  if (map != null) map.checkResize();
  oldHeight = windowHeight;
  oldWidth = windowWidth;
}