function addMarkers(){
mySelect = document.getElementById('selection');
Dyke = [];Covington = [];Dillwyn = [];Goochland = [];Waynesboro = [];Fork_Union = [];Keswick = [];Christiansburg = [];Winchester = [];South_Boston = [];New_Castle = [];Woodberry_Forest = [];Norfolk = [];mySelect.options[mySelect.options.length] = new Option("Christiansburg schools",'all=Christiansburg');
mySelect.options[mySelect.options.length] = new Option("Covington schools",'all=Covington');
mySelect.options[mySelect.options.length] = new Option("Dillwyn schools",'all=Dillwyn');
mySelect.options[mySelect.options.length] = new Option("Dyke schools",'all=Dyke');
mySelect.options[mySelect.options.length] = new Option("Fork Union schools",'all=Fork_Union');
mySelect.options[mySelect.options.length] = new Option("Goochland schools",'all=Goochland');
mySelect.options[mySelect.options.length] = new Option("Keswick schools",'all=Keswick');
mySelect.options[mySelect.options.length] = new Option("New Castle schools",'all=New_Castle');
mySelect.options[mySelect.options.length] = new Option("Norfolk schools",'all=Norfolk');
mySelect.options[mySelect.options.length] = new Option("South Boston schools",'all=South_Boston');
mySelect.options[mySelect.options.length] = new Option("Waynesboro schools",'all=Waynesboro');
mySelect.options[mySelect.options.length] = new Option("Winchester schools",'all=Winchester');
mySelect.options[mySelect.options.length] = new Option("Woodberry Forest schools",'all=Woodberry_Forest');
mySelect.options[mySelect.options.length] = new Option("---------------------------",'');
Dyke[Dyke.length] = createMarker(new GPoint(-78.55581900,38.26356700),"
",iconBl);
mySelect.options[mySelect.options.length] = new Option("Blue Ridge School",'Dyke=' + Dyke.length);
Covington[Covington.length] = createMarker(new GPoint(-80.02119800,37.80453700),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Boys' Home School",'Covington=' + Covington.length);
Dillwyn[Dillwyn.length] = createMarker(new GPoint(-78.47547900,37.48397000),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("The Discovery School Of Virginia",'Dillwyn=' + Dillwyn.length);
Goochland[Goochland.length] = createMarker(new GPoint(-77.97953800,37.71993100),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Elk Hill School",'Goochland=' + Goochland.length);
Waynesboro[Waynesboro.length] = createMarker(new GPoint(-78.90450000,38.07380000),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Fishburne Military School",'Waynesboro=' + Waynesboro.length);
Fork_Union[Fork_Union.length] = createMarker(new GPoint(-78.26571900,37.78217000),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Fork Union Military Academy",'Fork_Union=' + Fork_Union.length);
Keswick[Keswick.length] = createMarker(new GPoint(-78.34520000,38.02010000),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Little Keswick School",'Keswick=' + Keswick.length);
Christiansburg[Christiansburg.length] = createMarker(new GPoint(-80.40841200,37.13014200),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Tekoa Community School",'Christiansburg=' + Christiansburg.length);
Winchester[Winchester.length] = createMarker(new GPoint(-78.15320000,39.18530000),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Timber Ridge School",'Winchester=' + Winchester.length);
South_Boston[South_Boston.length] = createMarker(new GPoint(-79.13778500,36.70829700),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Wellspring Academy",'South_Boston=' + South_Boston.length);
New_Castle[New_Castle.length] = createMarker(new GPoint(-80.13190000,37.50320000),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Wilderness Outdoor Opportunity",'New_Castle=' + New_Castle.length);
Woodberry_Forest[Woodberry_Forest.length] = createMarker(new GPoint(-79.28843500,37.36286100),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Woodberry Forest School",'Woodberry_Forest=' + Woodberry_Forest.length);
Norfolk[Norfolk.length] = createMarker(new GPoint(-76.29205900,36.86862000),"",iconBl);
mySelect.options[mySelect.options.length] = new Option("Yeshiva Aish Kodosh/talmudical Academy/norfolk",'Norfolk=' + Norfolk.length);
map.removeOverlays(Christiansburg);
map.removeOverlays(Covington);
map.removeOverlays(Dillwyn);
map.removeOverlays(Dyke);
map.removeOverlays(Fork_Union);
map.removeOverlays(Goochland);
map.removeOverlays(Keswick);
map.removeOverlays(New_Castle);
map.removeOverlays(Norfolk);
map.removeOverlays(South_Boston);
map.removeOverlays(Waynesboro);
map.removeOverlays(Winchester);
map.removeOverlays(Woodberry_Forest);
setTimeout(function(){map.addOverlays(Christiansburg)},1000);
setTimeout(function(){map.addOverlays(Covington)},1000);
setTimeout(function(){map.addOverlays(Dillwyn)},1000);
setTimeout(function(){map.addOverlays(Dyke)},1000);
setTimeout(function(){map.addOverlays(Fork_Union)},1000);
setTimeout(function(){map.addOverlays(Goochland)},1000);
setTimeout(function(){map.addOverlays(Keswick)},1000);
setTimeout(function(){map.addOverlays(New_Castle)},1000);
setTimeout(function(){map.addOverlays(Norfolk)},1000);
setTimeout(function(){map.addOverlays(South_Boston)},1000);
setTimeout(function(){map.addOverlays(Waynesboro)},1000);
setTimeout(function(){map.addOverlays(Winchester)},1000);
setTimeout(function(){map.addOverlays(Woodberry_Forest)},1000);
maxLng = -76.29205900;
maxLat = 39.18530000;
minLng = -80.40841200;
minLat = 36.70829700;
reCenterMap();
} // 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,11);
/*
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(Christiansburg);
map.removeOverlays(Covington);
map.removeOverlays(Dillwyn);
map.removeOverlays(Dyke);
map.removeOverlays(Fork_Union);
map.removeOverlays(Goochland);
map.removeOverlays(Keswick);
map.removeOverlays(New_Castle);
map.removeOverlays(Norfolk);
map.removeOverlays(South_Boston);
map.removeOverlays(Waynesboro);
map.removeOverlays(Winchester);
map.removeOverlays(Woodberry_Forest);
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(Dyke);map.removeOverlays(Christiansburg);
map.removeOverlays(Covington);
map.removeOverlays(Dillwyn);
map.removeOverlays(Dyke);
map.removeOverlays(Fork_Union);
map.removeOverlays(Goochland);
map.removeOverlays(Keswick);
map.removeOverlays(New_Castle);
map.removeOverlays(Norfolk);
map.removeOverlays(South_Boston);
map.removeOverlays(Waynesboro);
map.removeOverlays(Winchester);
map.removeOverlays(Woodberry_Forest);
map.addOverlays(Christiansburg);
centerByArray(Christiansburg, false, false);
cntMarker += Christiansburg.length;
map.addOverlays(Covington);
centerByArray(Covington, false, false);
cntMarker += Covington.length;
map.addOverlays(Dillwyn);
centerByArray(Dillwyn, false, false);
cntMarker += Dillwyn.length;
map.addOverlays(Dyke);
centerByArray(Dyke, false, false);
cntMarker += Dyke.length;
map.addOverlays(Fork_Union);
centerByArray(Fork_Union, false, false);
cntMarker += Fork_Union.length;
map.addOverlays(Goochland);
centerByArray(Goochland, false, false);
cntMarker += Goochland.length;
map.addOverlays(Keswick);
centerByArray(Keswick, false, false);
cntMarker += Keswick.length;
map.addOverlays(New_Castle);
centerByArray(New_Castle, false, false);
cntMarker += New_Castle.length;
map.addOverlays(Norfolk);
centerByArray(Norfolk, false, false);
cntMarker += Norfolk.length;
map.addOverlays(South_Boston);
centerByArray(South_Boston, false, false);
cntMarker += South_Boston.length;
map.addOverlays(Waynesboro);
centerByArray(Waynesboro, false, false);
cntMarker += Waynesboro.length;
map.addOverlays(Winchester);
centerByArray(Winchester, false, false);
cntMarker += Winchester.length;
map.addOverlays(Woodberry_Forest);
centerByArray(Woodberry_Forest, false, false);
cntMarker += Woodberry_Forest.length;
centerByArray(Dyke,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///31899,35731,35735,28070,28173,31907,28264,28533,31911,28524,28171,28492,28540,31899,35731,35735,28173,28264,28492,/all');
//window.open('/map.php?type=2&schools=31899,35731,35735,28070,28173,31907,28264,28533,31911,28524,28171,28492,28540,31899,35731,35735,28173,28264,28492,&school_level=&radius=&zipcode=&school_type_search=&school_type_code=');
}
}
function createMarker(point, label, icon)
{
var marker = new GMarker(point, icon);
var html = label;
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(html);
});
return marker;
}