// SOME GLOBAL VARIABLES // need to be changed when moving to different boxes

//for my laptop
//var strBaseURL="localhost";
//var strArcIMSSvr="10.2.11.29";

//for 29
//var strBaseURL="10.2.11.29";
//var strArcIMSSvr="10.2.11.29";


//for production
var strBaseURL="dcatlas.dcgis.dc.gov";
var strArcIMSSvr="164.82.148.173";


var strMapService="citizenmap";
var strBasemapLayers="10,b1,b2,b3,b4,b5,b6,b7,516,518,519,517,515,303,b8,21,b9,501,514,31,513,b10,b11,504,512,19,521,88,520,301";

var allschools="Bilingual,Education Campus,Elementary School,K-8,Middle School,Youth Engagement,Arts Center,SWSC,Senior High School,Senior High School/Specialized,Special Education Center,Special Education School";
var eleschools="Elementary School,K-8,Education Campus";
var midschools="Middle School,Education Campus";
var highschools="Senior High School,Senior High School/Specialized";
var otherschools="Bilingual,Education Campus,Youth Engagement,Arts Center,SWSC,Senior High School/Specialized,Special Education Center,Special Education School";



var map = null;
var gmarkers = new Object();
var gmarkersCat = new Object();
// The allowed region which the whole map must be within
var allowedBounds = null;
var BaseOnly = null;
var dcbndyply = null;
var selectedschool = null;
var bilingual = new Object();

function load() {
	if (GBrowserIsCompatible()) 
	{
		try
		{
			var ddl_type = document.getElementById("ddlSchoolTypes");
			var htmlCode = document.createElement('option');
			ddl_type.options.add(htmlCode);
			htmlCode.value = allschools;
			htmlCode.text="All Schools";
			htmlCode.selected=true;
						
			htmlCode = document.createElement('option');
			ddl_type.options.add(htmlCode);
			htmlCode.value = eleschools;
			htmlCode.text="Elementary Schools";
			
			htmlCode = document.createElement('option');
			ddl_type.options.add(htmlCode);
			htmlCode.value = midschools;
			htmlCode.text="Middle Schools";
			
			htmlCode = document.createElement('option');
			ddl_type.options.add(htmlCode);
			htmlCode.value = highschools;
			htmlCode.text="Senior High Schools";
			
			htmlCode = document.createElement('option');
			ddl_type.options.add(htmlCode);
			htmlCode.value = otherschools;
			htmlCode.text="Multi-Grade/Specialized Schools";
			
			map = new GMap2(document.getElementById("map"));
			
			// ====== Create a GCopyrightCollection =======
			var copycol = new GCopyrightCollection("");

			// ====== Create a myGCopyright for each region and add them to the Collection
			// In this case theres one copyright for the entire map

			var copy1 = new GCopyright(1, new GLatLngBounds(new GLatLng(-90,-180),new GLatLng(90,180)), 0, "DC GIS");
			copycol.addCopyright(copy1);

			var base= new GTileLayer(copycol,11,20);
			base.myBaseURL='arcims_image.asp?servername=' + strArcIMSSvr + '&mapservice=' + strMapService + '&LAYER_ID=' + strBasemapLayers + '&cache_name=base&image_type=jpg';
			base.getTileUrl=CustomGetTileUrl;
			var layer1=[base];
			//var layer2=[base,G_HYBRID_MAP.getTileLayers()[1]];

			BaseOnly = new GMapType(layer1, G_NORMAL_MAP.getProjection(), "DC GIS Base", G_NORMAL_MAP);
			map.addMapType(BaseOnly);
			
			var mt = map.getMapTypes(); 
			for (var i=0; i<mt.length; i++) { 
			mt[i].getMinimumResolution = function() {return 11;} 
			mt[i].getMaximumResolution = function() {return 20;}  } 
			
			//mt[mt.length-1].getMinimumResolution = function() {return 11;} 
			//mt[mt.length-1].getMaximumResolution = function() {return 20;}

			//var newZoom = 17 - 2;
			map.setCenter(new GLatLng(38.897000, -77.02000), 11);
		
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
			map.addControl(new GScaleControl());
			
			addDistrictBound();
 
			GEvent.addListener(map, 'zoomend', setBase);
			GEvent.addListener(map, 'maptypechanged', checkDCBaseVis);
			
			allowedBounds = new GLatLngBounds(new GLatLng(38.75, -77.3), new GLatLng(39.15, -76.8));
			GEvent.addListener(map, "move", function() {
				checkBounds();
			});
			var query="getData.aspx?type=markers" 
			GDownloadUrl(query,  display); 

		}
		catch(err)
		{
			  txt="We are sorry but an error has occured on this page.\n\n";
			  txt+="Click OK to continue viewing this page,\n";
			  txt+="or Cancel to return to dcgis.dc.gov.\n\n";
			  txt+="Error description: " + err.description;
			  if(!confirm(txt))
			  {
				document.location.href="http://dcgis.dc.gov/";
			  }
        	}
	}
	else
	{ alert ("Sorry, you browser is unable to display the google map."); }
}

function display(text, code) { 
    var items=text.split("|"); 
	var elschoolicon = new GIcon();
	elschoolicon.image = "images/elementary.png";
	elschoolicon.iconSize = new GSize(32, 32);
	elschoolicon.iconAnchor = new GPoint(6, 20);
	elschoolicon.infoWindowAnchor = new GPoint(5, 1);
	
	var mischoolicon = new GIcon();
	mischoolicon.image = "images/middle.png";
	mischoolicon.iconSize = new GSize(32, 32);
	mischoolicon.iconAnchor = new GPoint(6, 20);
	mischoolicon.infoWindowAnchor = new GPoint(5, 1);
	
	var seschoolicon = new GIcon();
	seschoolicon.image = "images/senior.png";
	seschoolicon.iconSize = new GSize(32, 32);
	seschoolicon.iconAnchor = new GPoint(6, 20);
	seschoolicon.infoWindowAnchor = new GPoint(5, 1);
	
	var spschoolicon = new GIcon();
	spschoolicon.image = "images/specialed.png";
	spschoolicon.iconSize = new GSize(32, 32);
	spschoolicon.iconAnchor = new GPoint(6, 20);
	spschoolicon.infoWindowAnchor = new GPoint(5, 1);
	
	var juschoolicon = new GIcon();
	juschoolicon.image = "images/juniorhigh.jpg";
	juschoolicon.iconSize = new GSize(14, 14);
	juschoolicon.iconAnchor = new GPoint(6, 20);
	juschoolicon.infoWindowAnchor = new GPoint(5, 1);
       
       var mgr = new GMarkerManager(map); 
       
        for (i=0; i<items.length-1; i++) { 
                
                var comps=items[i].split(";;"); 
                var lng=comps[0]; 
                var lat=comps[1]; 
                								
					var catName = comps[2];							
					var catFeatId = comps[6];							
					var catAddress = comps[4] + ", WASHINGTON DC " + comps[7];					
					var catPhone = comps[5];							
					//var catURL = nodesURL[i].childNodes[0].nodeValue;								
					var catType = comps[3]; 
					var ret={};// holds returned caculated values
					var llCoords = SPCStoLL(lng, lat, ret);
					var point = new GLatLng(ret.lat, ret.lon);
					var marker;	
					
					var eleschoolssplit = eleschools.split(",");
					var midschoolssplit = midschools.split(",");
					var highschoolssplit = highschools.split(",");				
					
					if (catType == eleschoolssplit[0] || catType == eleschoolssplit[1]) {
						marker = createMarker(point,catName,catType,catAddress,formatPhone(catPhone),elschoolicon,lng,lat,catFeatId);
					} else if (catType == midschoolssplit[0]) {
						marker = createMarker(point,catName,catType,catAddress,formatPhone(catPhone),mischoolicon,lng,lat,catFeatId);
					} else if (catType == highschoolssplit[0]) {
						marker = createMarker(point,catName,catType,catAddress,formatPhone(catPhone),seschoolicon,lng,lat,catFeatId);
					} else {
						marker = createMarker(point,catName,catType,catAddress,formatPhone(catPhone),spschoolicon,lng,lat,catFeatId);
					}     
			marker.bilingual = comps[8];
			marker.beforeschool = comps[9];
			marker.business = comps[10];
			marker.headstart = comps[11];
			marker.intB = comps[12];
			marker.langimmer = comps[13];
			marker.montessori = comps[14];
			marker.nongraded = comps[15];
			marker.parent = comps[16];
			marker.reggio = comps[17];
			marker.science = comps[18];
			marker.specialad = comps[19];
			marker.specialed = comps[20];
			marker.tyo = comps[21];
			marker.after = comps[22];
			marker.arts = comps[23];
			
			map.addOverlay(marker);
			gmarkers[catFeatId]= marker;
			gmarkersCat[catFeatId]= catType;
  
        } 
        callDropdownDB();

} 

function callDropdownDB()
{		
		
		var ddl_type = document.getElementById("ddlSchoolTypes");
		var value_type = ddl_type.options[ddl_type.selectedIndex].value;
		var ddl_program = document.getElementById("programTypes");
		var value_program = ddl_program.options[ddl_program.selectedIndex].value;
		var query="getData.aspx?type=dropdown&value_type="+value_type+"&value_prog="+value_program;
		GDownloadUrl(query,  setList); 
}

/*function callDropdownDBPrograms()
{
	var ddl = document.getElementById("programTypes");
	var value = ddl.options[ddl.selectedIndex].value;
	var query="getData.aspx?type=program&value="+value;
	GDownloadUrl(query,  setProgramList); 
}
*/
function setList(text,code)
{
	map.closeInfoWindow();	
	newupdateMarkerVis();
	var items=text.split("|");
	var ctrl = document.getElementById("ddlTargetSchools");
	ctrl.innerHTML = '';
	var ddl_prog = document.getElementById("programTypes");
	var ddl_progvalue = ddl_prog.options[ddl_prog.selectedIndex].text;
	var ddl_type = document.getElementById("ddlSchoolTypes");
	var ddl_typevalue = ddl_type.options[ddl_type.selectedIndex].value;
	var defaultvalue = document.createElement('option');
	defaultvalue.value = "-999";
	if (ddl_prog.selectedIndex==0) {//all program
		if (ddl_type.selectedIndex==0) {
			//all type
			defaultvalue.text="Select a school from this list";
		} else {
			//SPECIFIC TYPE
			if(ddl_typevalue == eleschools){defaultvalue.text = "Select an elementary school from this list";}
			else if(ddl_typevalue == midschools){defaultvalue.text = "Select a middle school from this list";}
			else if(ddl_typevalue == highschools){defaultvalue.text = "Select a senior high school from this list";}
			else if(ddl_typevalue == otherschools){defaultvalue.text = "Select a school from this list";}
			else{defaultvalue.text = "Select a school from this list";}
		}
	} else {//specific program
		if (ddl_type.selectedIndex==0) {
			//all type
			defaultvalue.text = "Select a school with " + ddl_progvalue + " from this list";
		} else {
			//SPECIFIC TYPE, specific program
			if(ddl_typevalue == eleschools){defaultvalue.text = "Select an elementary school with " + ddl_progvalue + " from this list";}
			else if(ddl_typevalue == midschools){defaultvalue.text = "Select a middle school with " + ddl_progvalue + " from this list";}
			else if(ddl_typevalue == highschools){defaultvalue.text = "Select a senior high school with " + ddl_progvalue + " from this list";}
			else if(ddl_typevalue == otherschools){defaultvalue.text = "Select a school with " + ddl_progvalue + " from this list";}
			else{defaultvalue.text = "Select a school with " + ddl_progvalue + " from this list";}
		}
	}
	
	
	//defaultvalue.text = "Select a school from this list";
	ctrl.options.add(defaultvalue);
	for (i=0; i<items.length-1; i++) { 
                
                var comps=items[i].split(";;"); 
                var lng=comps[0]; 
                var lat=comps[1]; 
                								
				var catName = comps[2];							
				var catFeatId = comps[3];	
				var catId = lng + ":" + lat + ":" + catFeatId;			
				
					// Create a new <OPTION> node.
					var htmlCode = document.createElement('option');
					// Add the new <OPTION> node to our <SELECT> drop list
					ctrl.options.add(htmlCode);
					// Set the <OPTION> display text and value;
					htmlCode.text = catName;
					htmlCode.value = catId;      
        } 
}

function setBase(zoom1, zoom2)
{
	if(zoom2 > 17)
	{
		map.setMapType(BaseOnly);
	}
}
function checkDCBaseVis()
{
	if(map.getCurrentMapType() == BaseOnly)
	{
		map.removeOverlay(dcbndyply);
	}
	else
	{
		map.addOverlay(dcbndyply);
	}
}

function addDistrictBound()
{
	
	GDownloadUrl("data/DCBndyPly_Gen.kml", function(data) {
		var xml = GXml.parse(data);
		var placemarks = xml.documentElement.getElementsByTagName("Placemark");

		var count = 0;
		for(var i=0; i<placemarks.length; i++){

			var name = placemarks[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;

			var coordinates;
			coordinates = placemarks[i].getElementsByTagName("coordinates")[0].childNodes[0].nodeValue;

			coordinates = coordinates.trim();

			for(var chunk=1;  chunk<placemarks[i].getElementsByTagName("coordinates")[0].childNodes.length;chunk++){
				 coordinates+=placemarks[i].getElementsByTagName("coordinates")[0].childNodes[chunk].nodeValue;
			}

			coordinates = coordinates.split(" ");

			for(var j=0; j<coordinates.length;j++){
					coordinates[j] = coordinates[j].split(",");
			}
			
			if(coordinates.length > 1){
				var points = new Array();
				for(var j=0; j<coordinates.length; j++)
				{
					if(coordinates[j].length == 3)
					{	
						points.push(new  GLatLng(parseFloat(coordinates[j][1]),parseFloat(coordinates[j][0])));	
					}
					else if(coordinates[j].length == 4)
					{	
						points.push(new  GLatLng(parseFloat(coordinates[j][2]),parseFloat(coordinates[j][1])));	
					}
				}
				//chuanyun fei modified, 09/17/09
				//dcbndyply = new GPolygon(points,"#FF0000",2,0.8)
				dcbndyply = new GPolyline(points,"#FF0000",2,0.8);
				//end
				map.addOverlay(dcbndyply);				
			}
			else
			{
				continue;
			}								
		}		
        });  
}
// If the map position is out of range, move it back
function checkBounds() {
// Perform the check and return if OK
	if (allowedBounds.contains(map.getCenter())) {
		return;
	}
	else
	{
		// It`s not OK, so find the nearest allowed point and move there
		var C = map.getCenter();
		var X = C.lng();
		var Y = C.lat();

		var AmaxX = allowedBounds.getNorthEast().lng();
		var AmaxY = allowedBounds.getNorthEast().lat();
		var AminX = allowedBounds.getSouthWest().lng();
		var AminY = allowedBounds.getSouthWest().lat();

		if (X < AminX) {X = AminX;}
		if (X > AmaxX) {X = AmaxX;}
		if (Y < AminY) {Y = AminY;}
		if (Y > AmaxY) {Y = AmaxY;}
		//alert ("Restricting "+Y+" "+X);
		map.setCenter(new GLatLng(Y,X));
	}
}
function newupdateMarkerVis()
{
	for (gm in gmarkers)
	{
	gmarkers[gm].hide();
	}
		
	var cattype, catprog, cattypeID, catprogID, cattypes;

	cattype = document.getElementById("ddlSchoolTypes");
	cattypeID = cattype.options[cattype.selectedIndex].value;
	catprog = document.getElementById("programTypes");
	catprogID = catprog.options[catprog.selectedIndex].value;
	cattypes = cattypeID.split(",");
	
	for (var j=0;j<cattypes.length;j++) {
		for (gm in gmarkers) {
			if (cattypes[j] == gmarkersCat[gm] || cattypeID == allschools) {
				if (catprogID == "Bilingual_Ed" && gmarkers[gm].bilingual == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Before_School" && gmarkers[gm].beforeschool== "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Business_Finance" && gmarkers[gm].business == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Head_Start" && gmarkers[gm].headstart== "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Int_Baccalaureate" && gmarkers[gm].intB == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Language_Immersion" && gmarkers[gm].langimmer == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Montessori" && gmarkers[gm].montessori == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Non_Graded" && gmarkers[gm].nongraded == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Parent_Center" && gmarkers[gm].parent == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Reggio_Emilia" && gmarkers[gm].reggio == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Science_Tech" && gmarkers[gm].science == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Special_Admissions" && gmarkers[gm].specialad == "Y"){gmarkers[gm].show();}
				else if	(catprogID == "Sp_Ed_Center" && gmarkers[gm].specialed == "Y"){gmarkers[gm].show();}
				else if	(catprogID == "Three_Year_Old" && gmarkers[gm].tyo == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Afterschool_Program" && gmarkers[gm].after == "Y") {gmarkers[gm].show();}
				else if	(catprogID == "Arts_Focus" && gmarkers[gm].arts == "Y"){gmarkers[gm].show();}
				else if	(catprogID == "-999"){gmarkers[gm].show();}
			}
		}
	}
}


function updateMarkerVis(intype)
{
		for (gm in gmarkers)
		{
		gmarkers[gm].hide();
		}
		
	var cat, catID, cats;
	if(intype == "type")
	{
		cat = document.getElementById("ddlSchoolTypes");
		catID = cat.options[cat.selectedIndex].value;
		//document.getElementById("programTypes").selectedIndex = 0;
		cats = catID.split(",");
		for (var j=0;j<cats.length;j++)
		{
			for (gm in gmarkers)
			{
				if(cats[j] == gmarkersCat[gm] || catID ==allschools)
				{
					gmarkers[gm].show();
				}
				
			}
		}
	}
	else
	{
		cat = document.getElementById("programTypes");
		//document.getElementById("ddlSchoolTypes").selectedIndex = 0;
		catID = cat.options[cat.selectedIndex].value;
		for (gm in gmarkers)
		{
			if(catID == "Bilingual_Ed" && gmarkers[gm].bilingual == "Y") {gmarkers[gm].show();}
			else if	(catID == "Before_School" && gmarkers[gm].beforeschool== "Y") {gmarkers[gm].show();}
			else if	(catID == "Business_Finance" && gmarkers[gm].business == "Y") {gmarkers[gm].show();}
			else if	(catID == "Head_Start" && gmarkers[gm].headstart== "Y") {gmarkers[gm].show();}
			else if	(catID == "Int_Baccalaureate" && gmarkers[gm].intB == "Y") {gmarkers[gm].show();}
			else if	(catID == "Language_Immersion" && gmarkers[gm].langimmer == "Y") {gmarkers[gm].show();}
			else if	(catID == "Montessori" && gmarkers[gm].montessori == "Y") {gmarkers[gm].show();}
			else if	(catID == "Non_Graded" && gmarkers[gm].nongraded == "Y") {gmarkers[gm].show();}
			else if	(catID == "Parent_Center" && gmarkers[gm].parent == "Y") {gmarkers[gm].show();}
			else if	(catID == "Reggio_Emilia" && gmarkers[gm].reggio == "Y") {gmarkers[gm].show();}
			else if	(catID == "Science_Tech" && gmarkers[gm].science == "Y") {gmarkers[gm].show();}
			else if	(catID == "Special_Admissions" && gmarkers[gm].specialad == "Y"){gmarkers[gm].show();}
			else if	(catID == "Sp_Ed_Center" && gmarkers[gm].specialed == "Y"){gmarkers[gm].show();}
			else if	(catID == "Three_year_old" && gmarkers[gm].tyo == "Y") {gmarkers[gm].show();}
			else if	(catID == "Afterschool_Program" && gmarkers[gm].after == "Y") {gmarkers[gm].show();}
			else if	(catID == "Arts_Focus" && gmarkers[gm].arts == "Y"){gmarkers[gm].show();}
			else if	(catID == "-999"){gmarkers[gm].show();}
		}
			
	}
}


String.prototype.trim = function () 
{
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}
function recentermap() {
	map.setCenter(new GLatLng(38.897000, -77.02000), 11);
}

function createMarker(point,catName,catType,catAddress,catPhone,schoolicon,refX,refY,gisid)
{
	var marker = new GMarker(point, { title: catName, icon: schoolicon });

	var atlasurl = 'citizenatlas.dc.gov/atlasapps/reports.aspx?SAR=administrative&ShowX='+refX+'&ShowY='+refY+'&name='+catName+'&QString=';
	
	var popuphtml ='<table><tr><td><div class="gmaplogo"><img src="images/dcflag.gif" alt="DC Flag Logo" ></img></div></td><td><div class="gmaptitlePopup">'+catName+'</div></td></tr><tr><td colspan="2">Type: '+catType +'</td></tr><tr><td colspan="2">Address: '+catAddress +'</td></tr><tr><td colspan="2">Contact Phone: '+catPhone +'</td></tr>';
	var maxhtml = popuphtml;
	//add max window link, only to non-max pop up.
	var maxLink = '<tr><td colspan="2"><a href=javascript:maxinfo()>School Profile</a></td></tr>';
	popuphtml += maxLink;
	//add additional neighborhood info link, for both non-max and max pop up.
	var addNeigorLink ='<tr><td colspan="2"><a href="http://' + atlasurl + '" target="_blank">Additional Neighborhood Information</a></td></tr></table>';
	popuphtml += addNeigorLink;
	maxhtml += addNeigorLink;
	
	maxhtml += "<div><table cellpadding='5'><tr><td colspan='9' align='center'><a href=javascript:printprofile()>Print School Profile</a></td></tr><tr bgcolor='FFFFCC'><td><a href=javascript:schooldetails()>School Details</a></td><td><a href=javascript:gradelevels()>Grade Levels (2008-2009)</a></td><td><a href=javascript:gdelvl()>Grade Levels (2009-2010)</a></td><td><a href=javascript:enrollments()>Enrollment (2008-2009)</a></td><td><a href=javascript:specialprogs()>DCPS Sponsored Programs</a></td><td><a href=javascript:otherprogs()>Other Programs</a></td><td><a href=javascript:highlights()>Highlights</a></td><td><a href=javascript:cas()>DC CAS</a></td><td><a href=javascript:facility()>Facilities Information</a></td><td><a href=javascript:demo()>Demographics</a></td></tr></table></div>"
	//<td><a href=javascript:highlights()>Highlights</a></td>
	GDownloadUrl("getData.aspx?type=schooldetails&value="+gisid, function(data) {
		 var items=data.split("|");
		 maxhtml = maxhtml + "<div id=profiledetails>";
		 maxhtml = maxhtml + items[0];
		 maxhtml = maxhtml + "</div>";
    });
    

	GEvent.addListener(marker, 'click', function() 
	{
		var maxContentDiv = document.createElement('div');
          maxContentDiv.innerHTML = popuphtml
          map.openInfoWindowHtml(marker.getLatLng(), popuphtml, {maxContent: maxContentDiv, pixelOffset: new GSize(4,0), maxWidth:350, maxTitle: "School Profile"}); 

          //marker.openInfoWindowHtml(popuphtml,
         //   {maxContent: maxContentDiv, maxWidth:350, maxTitle: "School Profile"});
		selectedschool = gisid;
          var iw = map.getInfoWindow();
          GEvent.addListener(iw, "maximizeclick", function() {
           maxContentDiv.innerHTML = maxhtml;										  

          });
          
          GEvent.addListener(map, "infowindowclose", function() {
           map.setCenter(marker.getLatLng());								  

          });
          

	});
	
function selectSchool(schoolName) {
	alert("here");
	var ctrl; 
	ctrl = document.getElementById("ddlTargetSchools"); 

	for(var i = 0; i < ctrl.options.length; i++) // cycle through the object list 
	{ 
		if (ctrl.options[i].text.indexOf(" from this list") != -1) {
			var comps=ctrl.options[i].text;  
			if(comps.toUpperCase() == schoolName.toUpperCase()){ 
				ctrl.options[i].selected=true; 
				//addPrecinctBound(id);
			}
		}
	}
}
									
	
	
	
	
	return marker;
}
function maxinfo()
{
	map.getInfoWindow().maximize();
	
}
function schooldetails()
{
	var dv = document.getElementById("profiledetails");
	
	GDownloadUrl("getData.aspx?type=schooldetails&value="+selectedschool, function(data) {
		 var items=data.split("|");
		 dv.innerHTML = items[0];
    });
}
function gradelevels()
{
	var dv = document.getElementById("profiledetails");
	
	GDownloadUrl("getData.aspx?type=grade&value="+selectedschool, function(data) {
		 var items=data.split("|");
		 dv.innerHTML = items[0];
    });
}
function gdelvl()
{
	var dv = document.getElementById("profiledetails");
	
	GDownloadUrl("getData.aspx?type=gdelvl&value="+selectedschool, function(data) {
		 var items=data.split("|");
		 dv.innerHTML = items[0];
    });
}
function enrollments()
{
	var dv = document.getElementById("profiledetails");
	
	GDownloadUrl("getData.aspx?type=enrollment&value="+selectedschool, function(data) {
		 var items=data.split("|");
		 dv.innerHTML = items[0];
    });
}
function specialprogs()
{
	var dv = document.getElementById("profiledetails");
	
	GDownloadUrl("getData.aspx?type=specialprog&value="+selectedschool, function(data) {
		 var items=data.split("|");
		 dv.innerHTML = items[0];
    });
}
function otherprogs()
{
	var dv = document.getElementById("profiledetails");
	
	GDownloadUrl("getData.aspx?type=otherprog&value="+selectedschool, function(data) {
		 var items=data.split("|");
		 dv.innerHTML = items[0];
    });
}
function highlights()
{
	var dv = document.getElementById("profiledetails");
	//dv.innerHTML = "Coming soon!";
	GDownloadUrl("getData.aspx?type=highlight&value="+selectedschool, function(data) {
		 var items=data.split("|");
		 dv.innerHTML = items[0];
    });
}
function cas()
{
	var dv = document.getElementById("profiledetails");
	//dv.innerHTML = "Coming soon!";
	GDownloadUrl("getData.aspx?type=cas&value="+selectedschool, function(data) {
		 var items=data.split("|");
		 dv.innerHTML = items[0];
    });
}
function facility()
{
	var dv = document.getElementById("profiledetails");
	//dv.innerHTML = "Coming soon!";
	GDownloadUrl("getData.aspx?type=facility&value="+selectedschool, function(data) {
		 var items=data.split("|");
		 dv.innerHTML = items[0];
    });
}
function demo()
{
	var dv = document.getElementById("profiledetails");
	//dv.innerHTML = "Coming soon!";
	GDownloadUrl("getData.aspx?type=demo&value="+selectedschool, function(data) {
		 var items=data.split("|");
		 dv.innerHTML = items[0];
    });
}
function createSimpleMarker(point,title, addressicon,lat,lon,address,refX,refY)
{
	var marker = new GMarker(point, { title: title, icon: addressicon }); 	
	var atlasurl = 'citizenatlas.dc.gov/atlasapps/reports.aspx?SAR=administrative&ShowX='+refX+'&ShowY='+refY+'&name='+title+'&QString=';
	
	var popuphtml ='<div id="gmapinfowindow2"><table><tr><td><div class="gmaplogo"><img src="images/dcflag.gif" alt="DC Flag Logo" width="40"></img></div></td><td align="right"><div class="gmaptitlePopup">' + title + '<br> In Boundary Schools</div></td></tr><tr><td colspan="2">'+address+'</td></tr><tr><td colspan="2"><a href="http://' + atlasurl + '" target="_blank">Additional Neighborhood Information</a></td></tr>';
	popuphtml = popuphtml + "<tr><td colspan='2'>* In boundary schools are your designated DCPS schools, and are not necessarily the closest.</td></tr></table></div>";
	// Additionally, there have been changes to the school boundaries which are not yet finalized, nor reflected in this application.
	GEvent.addListener(marker, 'click', function() 
	{
		map.closeInfoWindow();				
		GEvent.addListener(map, "infowindowclose", function() {
           map.setCenter(marker.getLatLng());								  

          });		
		setTimeout( function() {marker.openInfoWindowHtml(popuphtml,{maxHeight:250,maxWidth:350})}, 10);

	});
	
	return marker;
}

function reportWindow(url)
{
	window.open(url);
}
function printprofile() 
{

	GDownloadUrl("getData.aspx?type=profile&value="+selectedschool, function(data) {
		var items=data.split("|");
		var disp_setting="toolbar=yes,location=no,directories=yes,menubar=yes,"; 
		disp_setting+="scrollbars=yes,width=800, height=600, left=100, top=25"; 
		
		var content_vlue = items[0];
  
		var docprint=window.open("","",disp_setting); 
		docprint.document.open(); 
		docprint.document.write('<html><head><title>School Profile</title>'); 
		docprint.document.write('<style type="text/css">#gmapinfowindow { HEIGHT: 100% }');
	docprint.document.write('BODY { FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif }');
	docprint.document.write('TD { FONT-WEIGHT: normal; FONT-SIZE: 11px; COLOR: #666666; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif }');
	docprint.document.write('.footerText { FONT-WEIGHT: normal; FONT-SIZE: 10px; COLOR: #999999; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif }');
	docprint.document.write('A.footerLink { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #336699; TEXT-DECORATION: none }');
	docprint.document.write('#gmapinfowindow2 { OVERFLOW: auto; HEIGHT: 100% }');
	docprint.document.write('.gmaplogo { FLOAT: left }');
	docprint.document.write('.gmaptitlePopup { MARGIN-TOP: 5px; FONT-WEIGHT: bold; FLOAT: left; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 0px; WIDTH: 250px; COLOR: #cc3333; HEIGHT: 35px }');
	docprint.document.write('.gmaptitleTable { FONT-WEIGHT: bold; FONT-SIZE: 1.1em; FLOAT: left; MARGIN-BOTTOM: 0px; WIDTH: 100%; COLOR: #cc3333; LINE-HEIGHT: 1em; HEIGHT: 25px }');
	docprint.document.write('.gmapplace { FONT-SIZE: 1em; MARGIN-BOTTOM: 0px }');
	docprint.document.write('.gmapdesc { MARGIN-BOTTOM: 0px }');
	docprint.document.write('UL.gmapinfolist { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 0.9em; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 5px 15px; PADDING-TOP: 0px; LIST-STYLE-TYPE: square }');
	docprint.document.write('.legendpopup { CURSOR: help; COLOR: #9f141a; TEXT-DECORATION: none }');
	docprint.document.write('</style>');
		docprint.document.write('</head><body onLoad="self.print()"><center>');          
		docprint.document.write(content_vlue);          
		docprint.document.write('</center></body></html>'); 
		docprint.document.close(); 
		docprint.focus(); 
    });
}
