function addMarkers()
{
mySelect = document.getElementById('selection');
Aberdeen = [];Acme = [];Adna = [];Almira = [];Anacortes = [];Arlington = [];Asotin = [];Auburn = [];Ashford = [];Amanda_Park = [];Addy = [];Airway_Heights = [];Ariel = [];mySelect.options[mySelect.options.length] = new Option("Aberdeen schools",'all=Aberdeen');
mySelect.options[mySelect.options.length] = new Option("Acme schools",'all=Acme');
mySelect.options[mySelect.options.length] = new Option("Addy schools",'all=Addy');
mySelect.options[mySelect.options.length] = new Option("Adna schools",'all=Adna');
mySelect.options[mySelect.options.length] = new Option("Airway Heights schools",'all=Airway_Heights');
mySelect.options[mySelect.options.length] = new Option("Almira schools",'all=Almira');
mySelect.options[mySelect.options.length] = new Option("Amanda Park schools",'all=Amanda_Park');
mySelect.options[mySelect.options.length] = new Option("Anacortes schools",'all=Anacortes');
mySelect.options[mySelect.options.length] = new Option("Ariel schools",'all=Ariel');
mySelect.options[mySelect.options.length] = new Option("Arlington schools",'all=Arlington');
mySelect.options[mySelect.options.length] = new Option("Ashford schools",'all=Ashford');
mySelect.options[mySelect.options.length] = new Option("Asotin schools",'all=Asotin');
mySelect.options[mySelect.options.length] = new Option("Auburn schools",'all=Auburn');
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.83791351,46.97226334),"
",iconRd);
Acme[Acme.length] = createMarker(new GPoint(-122.20867157,48.71847534),"",iconRd);
Adna[Adna.length] = createMarker(new GPoint(-123.06015015,46.63745880),"",iconRd);
Adna[Adna.length] = createMarker(new GPoint(-123.05069733,46.62859344),"",iconGr);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.83650208,46.97703552),"",iconRd);
Almira[Almira.length] = createMarker(new GPoint(-118.94090271,47.70750046),"",iconRd);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.62220764,48.50818634),"",iconGr);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.61770630,48.50433731),"",iconBl);
Arlington[Arlington.length] = createMarker(new GPoint(-122.12119293,48.19226456),"",iconGr);
Asotin[Asotin.length] = createMarker(new GPoint(-117.04896100,46.33825000),"",iconRd);
Asotin[Asotin.length] = createMarker(new GPoint(-117.04875183,46.33956909),"",iconGr);
Auburn[Auburn.length] = createMarker(new GPoint(-122.17620300,47.34221600),"",iconGr);
Auburn[Auburn.length] = createMarker(new GPoint(-122.22452545,47.26491928),"",iconGr);
Auburn[Auburn.length] = createMarker(new GPoint(-122.21928406,47.31087494),"",iconGr);
Auburn[Auburn.length] = createMarker(new GPoint(-122.28432465,47.33476257),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.21558380,47.32853699),"",iconBl);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.69719696,46.96626282),"",iconRd);
Ashford[Ashford.length] = createMarker(new GPoint(-122.10990906,46.75363922),"",iconRd);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.61770630,48.50436401),"",iconGr);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.63349915,48.49499893),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.21701813,47.32043839),"",iconRd);
Arlington[Arlington.length] = createMarker(new GPoint(-122.11440277,48.19717789),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.26530457,47.31883621),"",iconRd);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.58319855,48.43519974),"",iconRd);
Arlington[Arlington.length] = createMarker(new GPoint(-122.15140533,48.16585541),"",iconGr);
Auburn[Auburn.length] = createMarker(new GPoint(-122.21523285,47.27681351),"",iconRd);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.81596400,46.97587500),"",iconGr);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.83129883,46.97203064),"",iconGr);
Auburn[Auburn.length] = createMarker(new GPoint(-122.18382263,47.32975388),"",iconRd);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.81616974,46.97798920),"",iconGr);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.83791351,46.97226334),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.22836304,47.26469040),"",iconRd);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.62189484,48.50206375),"",iconRd);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.82025146,46.97837830),"",iconGr);
Arlington[Arlington.length] = createMarker(new GPoint(-122.12193298,48.18341827),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.27870941,47.32594681),"",iconBl);
Auburn[Auburn.length] = createMarker(new GPoint(-122.28129578,47.32593536),"",iconRd);
Amanda_Park[Amanda_Park.length] = createMarker(new GPoint(-123.88752747,47.46189880),"",iconRd);
Amanda_Park[Amanda_Park.length] = createMarker(new GPoint(-124.06729889,47.45479965),"",iconGr);
Auburn[Auburn.length] = createMarker(new GPoint(-122.12415314,47.31686401),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.29249573,47.28059006),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.17619324,47.32521439),"",iconRd);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.61259460,48.49945450),"",iconGr);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.82302856,46.97689056),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.26052094,47.33323669),"",iconRd);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.79339600,46.96373749),"",iconBl);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.61932373,48.48786163),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.21997833,47.27546310),"",iconBl);
Auburn[Auburn.length] = createMarker(new GPoint(-122.22736359,47.30701828),"",iconGr);
Auburn[Auburn.length] = createMarker(new GPoint(-122.21620178,47.29250336),"",iconBl);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.61770630,48.50436401),"",iconGr);
Arlington[Arlington.length] = createMarker(new GPoint(-122.12037659,48.16396332),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.21360016,47.28815460),"",iconRd);
Arlington[Arlington.length] = createMarker(new GPoint(-122.11437225,48.19718552),"",iconBl);
Arlington[Arlington.length] = createMarker(new GPoint(-122.12238312,48.19614029),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.18669891,47.32799530),"",iconBl);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.81257629,46.98413086),"",iconRd);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.62220764,48.50818634),"",iconGr);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.61249542,48.50751495),"",iconGr);
Auburn[Auburn.length] = createMarker(new GPoint(-122.28751000,47.27893500),"",iconBl);
Auburn[Auburn.length] = createMarker(new GPoint(-122.21759796,47.31110001),"",iconGr);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.78919983,46.96720123),"",iconRd);
Arlington[Arlington.length] = createMarker(new GPoint(-122.12239075,48.19507599),"",iconGr);
Addy[Addy.length] = createMarker(new GPoint(-117.97523499,48.30633163),"",iconRd);
Airway_Heights[Airway_Heights.length] = createMarker(new GPoint(-117.58704376,47.64483643),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.22421265,47.29806519),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.28031921,47.34353638),"",iconGr);
Arlington[Arlington.length] = createMarker(new GPoint(-122.06017303,48.23667908),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.28150177,47.35192490),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.22736359,47.30701828),"",iconRd);
Auburn[Auburn.length] = createMarker(new GPoint(-122.23431396,47.30773544),"",iconGr);
Arlington[Arlington.length] = createMarker(new GPoint(-122.15140533,48.16585541),"",iconGr);
Anacortes[Anacortes.length] = createMarker(new GPoint(-122.61752319,48.51257324),"",iconRd);
Aberdeen[Aberdeen.length] = createMarker(new GPoint(-123.77185822,47.11763763),"",iconGr);
Ariel[Ariel.length] = createMarker(new GPoint(-122.74166107,45.90615845),"",iconRd);
} // End addStateMarkers JavaScript Function
// Takes an array of markers and centers/zooms map based on marker range
function centerByArray(myArray, recenter, newMaxMin)
{
if (newMaxMin == true)
reMaxMin(myArray);
for (var i = 0; i < myArray.length; i++)
{
var markLng = myArray[i].getPoint().x;
var markLat = myArray[i].getPoint().y;
if (markLat > maxLat) maxLat = markLat;
if (markLng > maxLng) maxLng = markLng;
if (markLat < minLat) minLat = markLat;
if (markLng < minLng) minLng = markLng;
}
if (recenter)
reCenterMap();
}
// Reinit max/mins
function reMaxMin(myArray)
{
maxLng = myArray[0].getPoint().x;
maxLat = myArray[0].getPoint().y;
minLng = myArray[0].getPoint().x;
minLat = myArray[0].getPoint().y;
}
// Recenter map based on global max/mins
function reCenterMap()
{
var bounds = new GLatLngBounds();
bounds.extend(new GLatLng(minLat, minLng));
bounds.extend(new GLatLng(maxLat, maxLng));
var center_lat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) / 2.0;
var center_lng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) / 2.0;
var center = new GLatLng(center_lat, center_lng);
var zoom = map.getBoundsZoomLevel(bounds);
map.setCenter(center,zoom);
//map.setCenter(center,10);
/*
var center = new GPoint( (maxLng + minLng)/2, (maxLat+minLat)/2 );
var delta = new GSize(maxLng - minLng, maxLat - minLat);
var minZoom = map.spec.getLowestZoomLevel(center, delta, map.viewSize);
if (minZoom < 4) minZoom = 4; // Lowest possible zoom is 4
map.centerAndZoom(center, minZoom);
*/
}
// Fires when drop down list of schools changes
function selectChange(selection)
{
var myVal = selection.options[selection.selectedIndex].value;
map.closeInfoWindow();
// Add entire array based on variable type
if (myVal.indexOf('all') != -1 && myVal != 'all')
{
var temp = myVal.split('=');
var showArray = temp[1];
// If Array is > X amount of markers, then open in a new page
if (eval(showArray).length > 20)
// New window depends on whether or not we're on the search page
if (location.href.indexOf('nearby_schools.php') == -1)
window.open(location.href + '/map/' + showArray);
else
window.open('/search////' + showArray);
map.removeOverlays(Aberdeen);
map.removeOverlays(Acme);
map.removeOverlays(Addy);
map.removeOverlays(Adna);
map.removeOverlays(Airway_Heights);
map.removeOverlays(Almira);
map.removeOverlays(Amanda_Park);
map.removeOverlays(Anacortes);
map.removeOverlays(Ariel);
map.removeOverlays(Arlington);
map.removeOverlays(Ashford);
map.removeOverlays(Asotin);
map.removeOverlays(Auburn);
map.addOverlays(eval(showArray));
centerByArray(eval(showArray), true, true); // Center and zoom on set of markers
}
// Add individual markers
if (myVal.indexOf('all') == -1 && myVal != 'all' && myVal.length)
{
var temp = myVal.split('=');
var myArray = temp[0];
var myIndex = parseInt(temp[1]) - 1;
document.getElementById('map').width = "750";
map.removeOverlay(eval(myArray)[myIndex]);
map.addOverlay(eval(myArray)[myIndex]);
GEvent.trigger(eval(myArray)[myIndex],'click');
}
// Show all markers
if (myVal == 'all')
{
cntMarker = 0;
reMaxMin(Aberdeen);map.removeOverlays(Aberdeen);
map.removeOverlays(Acme);
map.removeOverlays(Addy);
map.removeOverlays(Adna);
map.removeOverlays(Airway_Heights);
map.removeOverlays(Almira);
map.removeOverlays(Amanda_Park);
map.removeOverlays(Anacortes);
map.removeOverlays(Ariel);
map.removeOverlays(Arlington);
map.removeOverlays(Ashford);
map.removeOverlays(Asotin);
map.removeOverlays(Auburn);
map.addOverlays(Aberdeen);
centerByArray(Aberdeen, false, false);
cntMarker += Aberdeen.length;
map.addOverlays(Acme);
centerByArray(Acme, false, false);
cntMarker += Acme.length;
map.addOverlays(Addy);
centerByArray(Addy, false, false);
cntMarker += Addy.length;
map.addOverlays(Adna);
centerByArray(Adna, false, false);
cntMarker += Adna.length;
map.addOverlays(Airway_Heights);
centerByArray(Airway_Heights, false, false);
cntMarker += Airway_Heights.length;
map.addOverlays(Almira);
centerByArray(Almira, false, false);
cntMarker += Almira.length;
map.addOverlays(Amanda_Park);
centerByArray(Amanda_Park, false, false);
cntMarker += Amanda_Park.length;
map.addOverlays(Anacortes);
centerByArray(Anacortes, false, false);
cntMarker += Anacortes.length;
map.addOverlays(Ariel);
centerByArray(Ariel, false, false);
cntMarker += Ariel.length;
map.addOverlays(Arlington);
centerByArray(Arlington, false, false);
cntMarker += Arlington.length;
map.addOverlays(Ashford);
centerByArray(Ashford, false, false);
cntMarker += Ashford.length;
map.addOverlays(Asotin);
centerByArray(Asotin, false, false);
cntMarker += Asotin.length;
map.addOverlays(Auburn);
centerByArray(Auburn, false, false);
cntMarker += Auburn.length;
centerByArray(Aberdeen,true, false);
if (cntMarker > 20)
// New window depends on whether or not we're on the search page
if (location.href.indexOf('schools-by-distance') == -1)
window.open(location.href + '/map/all');
else
window.open('/search////all');
}
}