var geocoder;
var map;
var schools = [];
var index = 0;
var side_bar_html = "";


//function SchoolsCache() {
//    GGeocodeCache.apply(this);
//  }


// SchoolsCache.prototype.reset = function() {
//    GGeocodeCache.prototype.reset.call(this);
//    if(schools.length != 0){
//    for (var n in schools) {
//      GGeocodeCache.put(schools[n].name,schools[n]);
//    }
//    }
//  }

function myclick(index) {
        GEvent.trigger(schools[index],"click");
      }
      
      



function showCal(){
document.getElementById('cal').visibility='visible';
}
function fixHeader(){
document.location=document.location;

}
function hello()
{
alert('hi');
return;
}

//cyrus neah 6/10/2007
function load(a_marker,l_name){
try{
       name =l_name ;
    address = a_marker;

//alert(name);
//alert(address);
      // Create new map object
      map = new GMap2(document.getElementById("map"));
//map.addControl(new GLargeMapControl());
map.addControl(new GSmallMapControl());

      // Create new geocoding object
      geocoder = new GClientGeocoder();

      // Retrieve location information, pass it to addToMap()
      geocoder.getLocations(address, addToMap);
}catch(err){
  alert('Unable To Locate The Address');
        return;
}
}


  // This function adds the point to the map

function addToMap(response)
   {
      // Retrieve the object

      try{
      place = response.Placemark[0];

      // Retrieve the latitude and longitude
      point = new GLatLng(place.Point.coordinates[1],
                          place.Point.coordinates[0]);

      // Center the map on this point
      map.setCenter(point, 13);

      // Create a marker
      var marker = new GMarker(point);

      // Add the marker to map
GEvent.addListener(marker, "mouseover", function() {    marker.openInfoWindowHtml(name);  });
GEvent.addListener(marker, "mouseout", function() {    map.closeInfoWindow();  });
      map.addOverlay(marker);
}catch(err){
  alert('Unable To Locate The Address');
        return;
}
}
 

function loadarr(a_marker)
   {
      // Retrieve location information, pass it to addToMap()
      try{

//alert(address);
      // Create new map object
      map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(41.76583, -72.683333 ),9);

var markersarr = new Array();


markersarr=a_marker

//map.addControl(new GLargeMapControl());

map.addControl(new GSmallMapControl());

      // Create new geocoding object
geocoder = new GClientGeocoder();
GLatLngBounds.prototype.n=0;
var bounds = new GLatLngBounds;
var length=markersarr.length;
//


//
//if(markersarr.length==0){return }
    //jsArr = a_marker.split("|");     	
	for(x=0; x<markersarr.length; x++){	
		add=markersarr[x].crimeloc;		
        type=markersarr[x].crimetype;
        casenum=markersarr[x].casenumber;
        info1=markersarr[x].Date_Incident;
        info2=markersarr[x].info2;         

//flag=addToMapSilent(add,type,casenum,info1,info2,flag,bounds,1);

addToMapSilent(add,type,casenum,info1,info2,length,bounds);          

}

//map.setZoom(map.getBoundsZoomLevel(bounds));
//map.setCenter(bounds.getCenter());
}catch(err){
 alert(err);
}
}



function  addToMapSilent(add,type,casenum,info1,info2,n,bounds){
 
 geocoder.getLocations(add,function(response)
  
{
try{
 
      // Retrieve the object
if(response.Status.code == 200){      
     place = response.Placemark[0];

if(place.address.match(" CT ")!=null ){
      // Retrieve the latitude and longitude
      point = new GLatLng(place.Point.coordinates[1],
                          place.Point.coordinates[0]);
//map.setCenter(point, 13);

bounds.extend(point);


      // Center the map on this point
      //
var icon = new GIcon();

icon.image = get_color(type);
//icon.shadow = "/images/mm_20_shadow.png";
icon.iconSize = new GSize(14,30);
icon.iconAnchor = new GPoint(9, 34);
      icon.infoWindowAnchor = new GPoint(9, 2);    

var marker = new GMarker(point,icon);
        
     // Add the marker to map
GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(pretty(info2,type,casenum,info1));});
//GEvent.addListener(marker, "mouseout", function() {    map.closeInfoWindow();  });

//var ew = new EWindow(map,E_STYLE_3);

map.addOverlay(marker);
//map.setCenter(point, 13);
}
bounds.n=bounds.n +1;
}

}
catch(err){

}

if(bounds.isEmpty()){
map.setCenter(new GLatLng(41.76583, -72.683333 ),9);

}else{
//alert(bounds.n + ' '+ n);
if(bounds.n >= n - 5){
map.setZoom(map.getBoundsZoomLevel(bounds));
map.setCenter(bounds.getCenter());
}
}

}

)}


function get_color(zone){
var color;
switch(zone)
{
case "1":
  color="http://labs.google.com/ridefinder/images/mm_20_red.png";
  break    
case "2":
 color="http://www.hartford.gov/images2/smallSQBlueIcons/mm_20_red.png";
  break
case "3":
 color="http://www.hartford.gov/images2/smallSQBlueIcons/mm_20_red.png";
  break
case "4":
  color="http://www.hartford.gov/images2/smallSQBlueIcons/mm_20_red.png";
  break
default:
  color="http://www.hartford.gov/images2/smallSQBlueIcons/mm_20_red.png";
}

return color;
}

function get_schoolicon(num){
if(parseFloat(num) > '99' || num=='75'){return "http://labs.google.com/ridefinder/images/mm_20_red.png";}


return "http://www.hartford.gov/images2/smallSQBlueIcons/marker"+num+".png";
}

function get_magnetschoolicon(num){
if(parseFloat(num) > '99' || num=='75'){return "http://labs.google.com/ridefinder/images/mm_20_red.png";}

return "http://www.hartford.gov/images2/smallSQRedIcons/marker"+num+".png";


}









function loadwithinfo(a_marker,l_name)
   {

try{
       name =l_name ;
    address = a_marker;

//alert(name);
//alert(address);
      // Create new map object
      //map = new GMap2(document.getElementById("map"));
//map.addControl(new GLargeMapControl());
//map.addControl(new GSmallZoomControl());

      // Create new geocoding object
      geocoder = new GClientGeocoder();

      // Retrieve location information, pass it to addToMap()
      geocoder.getLocations(address, addToMapWithInfo);
}catch(err){
  
}
}

function importanceOrder (marker,b) {
        return GOverlay.getZIndex(marker.getPoint().lat()) + 5*1000000;
      }

 

function addToMapWithInfo(response)
   {
      // Retrieve the object

      try{
      place = response.Placemark[0];

      // Retrieve the latitude and longitude
      point = new GLatLng(place.Point.coordinates[1],
                          place.Point.coordinates[0]);

      // Center the map on this point
      

      // Create a marker
var icon = new GIcon();

icon.image = "images/colour010.png";
//icon.shadow = "/images/mm_20_shadow.png";
icon.iconSize = new GSize(20, 34);
      //icon.shadow = "images/pin_shadow.png";
      icon.shadowSize = new GSize(36, 34);
      icon.iconAnchor = new GPoint(9, 34);
      icon.infoWindowAnchor = new GPoint(9, 2);
icon.infoShadowAnchor = new GPoint(18, 25);

      //icon.transparent = "images/tran.png";
      //icon.printImage = "mymarkerie.gif";
      //icon.mozPrintImage = "mymarkerff.gif";
      //icon.printShadow = "myshadow.gif";
      //icon.imageMap=[9,0,6,1,4,2,2,4,0,8,0,12,1,14,2,16,5,
      // 19,7,23,8,26,9,30,9,34,11,34,11,30,12,26,13,24,14,21,
      // 16,18,18,16,20,12,20,8,18,4,16,2,15,1,13,0];



var marker = new GMarker(point,{icon:icon,zIndexProcess:importanceOrder});
//var marker = new GMarker(point,icon);

//     var ew = new EWindow(map,E_STYLE_3);
map.addOverlay(marker);
 
 
 
      
GEvent.addListener(marker, "click", function() {    marker.openInfoWindowHtml(name);  });
//GEvent.addListener(marker, "mouseout", function() {    map.closeInfoWindow();  });

 


// Add the marker to map
map.addOverlay(marker);
 // marker.openInfoWindowHtml(name);    
map.setCenter(point, 13);

}catch(err){
  
}
}

function IsEmpty(aTextField) {
   if ((aTextField.value.length==0) ||
   (aTextField.value==null)) {
      return true;
   }
   else { return false; }
}

function pretty(SchoolNumber,School,Zone,IsMagnet) {
        return '<table width="200" border="0" cellpadding="0" style="font-size:small;text-align:left; background-color:#ffffe8" cellspacing="0"><tr><td >' + SchoolNumber +':&nbsp;'+ School + '<br>&nbsp;Zone:&nbsp;'+ Zone +'<br>&nbsp;Magnet:&nbsp;'+IsMagnet+
               '</td></tr></table>';
      }
      
      
      
      
      
      
      
      function loadarrx(a_marker)
   {
  


      // Retrieve location information, pass it to addToMap()
      try{

//alert(address);
      // Create new map object
      map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(0,0),0);


//map.addControl(new GLargeMapControl());

map.addControl(new GSmallMapControl());

      // Create new geocoding object
      geocoder = new GClientGeocoder();
var bounds = new GLatLngBounds;
    jsArr = a_marker.split("|");     	
	for(x=0; x<jsArr.length; x++){
		type_address = jsArr[x];
        type_address_arr=type_address.split("^");        
        add=type_address_arr[1];
        type=type_address_arr[0];
if(x==jsArr.length - 1){
addToMapSilent(add,type,bounds,1);          
}else{
addToMapSilent(add,type,bounds,0);          
}
        }
//map.setZoom(map.getBoundsZoomLevel(bounds));
//map.setCenter(bounds.getCenter());
}catch(err){
 alert(err);
}
}

function drawzone4(a_marker){
schools=[];
index=0;
document.getElementById("side_bar").innerHTML = '';
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());
var sw = new GLatLng(41.725282229999998, -72.691671033000006);
var ne = new GLatLng(41.767800874999999, -72.642078338000005);
var bounds = new GLatLngBounds(sw, ne);
map.addControl(new GSmallMapControl());
var mapZoomLevel = map.getBoundsZoomLevel(bounds);
var mapCenter = new GLatLng(41.7465415525, -72.6668746855)
map.setCenter(mapCenter, mapZoomLevel);
var markersarr = new Array();
markersarr=a_marker;

var polyline4 = new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: 4,
  opacity: 0.8,
  points: "yp|}FtcqzLHe@??f@iCAs@Jy@zAuEd@iCf@kGD}BAsB?eAWyMtBYbCc@tCa@bEmA`Bm@rAy@~E{DdDyCx@w@v@y@bAiA|@gAv@eAlCwD~@sApBoCtAkBrBqCpCsDv@cAr@iAbFmJFMFOZq@lBkFf@iA~AiFz@oCr@kAhAuBbA_BfBcCnD{DvH_G`HkEbI}DdEuAbFiAjDe@~Cs@dAIjC[lGo@dCMjBIrEExDT~Dr@jBl@|AbAjCbCbX~SxCrB}Izh@cAjG`Fl~@pCn`@fB|VhCp`@xGlcA@fAkEq@mCgAsCkAyLgFqImDwGqCc@gD_AZGc@YJq@cFsAd@Jr@kA`@OcAaAZGa@aAZNbA[KTjBgA`@Mi@eAb@F`@OFoAf@Ki@I_@qAf@Hf@}@Dk@?Iu@eA\\EUkAb@dChMmAd@BJKDcATEOy@`@OFQaAM?yNR_@??f@aA@b@`AoCpCcGaMiFkLce@I]qXkLe@sJm@?z@BnCwA@Ay@kAG@fCK??Lk@??d@AZQ??f@^?A`BD?AxAa@?AbAaBCYz@c@@BgC[?@uA_BC@gAM?}AKGrBeAGC}@CA@u@oAEBy@oAKHaAcBIE~BeCK@e@Ho@kAGYImBMC^Et@C@C?gFUoHwBq@?MFoHkC{AcBs@eAuBuAAA\\wGj@gKHoBf@cJXuB",
  levels: "P?@DCEDFHC?DJBBFCHDECAJCADACB?@?CHC@@FCD@FBBIDGELEGDDHBBDAFEKFEGDDNBJF?DACNF@BA@IGEEGJEFGGEFGFEHFFFE?HAGFGBFFEDIGDI?EE?FG?AHFGFKCJJKDJ@GFFHFDDFAEGEFCBHFFFJFEFHFGAGGHCCGFFGIGHGCGCCG?D@GFFCKGCEBJAAAEP",
  zoomFactor: 2, 
  numLevels: 18
});
for(x=0; x<markersarr.length; x++){	
		SchoolNumber=markersarr[x].SchoolNumber;		
        School=markersarr[x].School;
        Zone=markersarr[x].Zone;
        IsMagnet=markersarr[x].IsMagnet;
        Address=markersarr[x].Address; 
        lat=markersarr[x].lat;		
        lon=markersarr[x].lon;
       NCLBstatus=markersarr[x].NCLBstatus;
       ShortName=markersarr[x].ShortName;
        SchoolNeighborhoodCode=markersarr[x].SchoolNeighborhoodCode;               

//flag=addToMapSilent(add,type,casenum,info1,info2,flag,bounds,1);
if(Zone =='4' || IsMagnet=='Y'){
var marker = addToBoundary(SchoolNumber,School,Zone,IsMagnet,lat,lon,NCLBstatus,SchoolNeighborhoodCode,ShortName);
if(marker !=null){
//alert(marker);
map.addOverlay(marker);
schools[index] = marker;
        // add a line to the side_bar html
        if(IsMagnet=='Y'){
        side_bar_html += '<a href="javascript:myclick(' + index + ')"><font color="red">' +SchoolNumber + '</font>:<font size="-4"> '+ShortName+ '</font></a><font color="green">*</font><br><br>';
        }else{
        side_bar_html += '<a href="javascript:myclick(' + index + ')"> <font color="red">' +SchoolNumber + '</font>:<font size="-4"> '+ShortName+ '</font></a><br><br>';
        }
        index++;
}

}
}
map.addOverlay(polyline4);
document.getElementById("side_bar").innerHTML = side_bar_html;
}


function drawzone3(a_marker){
schools=[];
index=0;
document.getElementById("side_bar").innerHTML = '';
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());

 var sw = new GLatLng(41.723662849999997, -72.716246323999997);
var ne = new GLatLng(41.768167044999998, -72.681605263999998);
var bounds = new GLatLngBounds(sw, ne);
var mapZoomLevel = map.getBoundsZoomLevel(bounds);
var mapCenter = new GLatLng(41.7459149475, -72.69892579399999)
map.setCenter(mapCenter, mapZoomLevel);
var markersarr = new Array();
markersarr=a_marker;


var polyline3 = new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: 4,
  opacity: 0.8,
  points: "}y|}FrjszLFaAAi@AoCT{CBaALeB@]AEH?FuAFw@vBtAr@dAzAbBnHjCA?NGp@?nHvBdFTD?BADu@Ba@jBNZFjAFIp@Ad@dCJD_CbBHI`AnAJCx@nADAt@@@Dz@dAHDsB~AJL?AfA~ABAtAZ?CfCb@AX{@`BB@cA`@?@yAE?@aB_@??g@P?@[?e@j@??MJ?AgCjAF@x@tAAAoC?{@rJl@jLd@\\pX`e@HjFjLbG`MnCqCc@aA`AA?g@^?xNSL?P~@LEz@a@BNdAUJECKlAe@eCiMjAc@DTdA_@Hv@h@?~@EIg@pAg@F^Lh@nAg@NGGa@dAc@Jh@hAa@UkBZJOcA`A[F`@~@[PbAjAa@Ks@rAe@p@bFXKFb@~@[b@fDvGpCpIlDxLfFrCjAlCfAjEp@dAde@|C|}@h@vO\\vMVjIaCD?NgABAOS??DG?a@AiABu@?{CHmFHqDHmBD{LTAIg@@?BC?cJPeCDY?_GJsEHuFLaBDcKRiJLaAAkJFkD}BgN`AcBAu@CY?sACko@{AYz@iWrBABu[dCsBFUaEQsCGeAoAuRi@aJm@sJiCi^cAiN?aD@eA@}G?sDEkCSkK_@eTc@gZAuA?S",
  levels: "PC?EABCBDDBJECGE?CFIA@G?GCCFCGHGIGFFGCCHGGAGFHFEJEFHFEFCEEFEAFDDFHFFH@JDKJJCKFGFHA?GF?EE?IDGIDEFFBGFGAH?EFFFHEFGFEGGFEMGEEGI@AB@FKEACANDEEECCCB@C@@??DDDBC????B@@BECHHGA@ACIGCCDMAABA@E@H@@AF@@CB@P",
  zoomFactor: 2, 
  numLevels: 18
});
for(x=0; x<markersarr.length; x++){	
		SchoolNumber=markersarr[x].SchoolNumber;		
        School=markersarr[x].School;
        Zone=markersarr[x].Zone;
        IsMagnet=markersarr[x].IsMagnet;
        Address=markersarr[x].Address; 
        lat=markersarr[x].lat;		
        lon=markersarr[x].lon;
       NCLBstatus=markersarr[x].NCLBstatus;
       ShortName=markersarr[x].ShortName;
        SchoolNeighborhoodCode=markersarr[x].SchoolNeighborhoodCode;               

//flag=addToMapSilent(add,type,casenum,info1,info2,flag,bounds,1);
if(Zone =='3' || IsMagnet=='Y'){
var marker = addToBoundary(SchoolNumber,School,Zone,IsMagnet,lat,lon,NCLBstatus,SchoolNeighborhoodCode,ShortName);
if(marker !=null){
//alert(marker);
map.addOverlay(marker);
schools[index] = marker;
        // add a line to the side_bar html
        if(IsMagnet=='Y'){
        side_bar_html += '<a href="javascript:myclick(' + index + ')"><font color="red">' +SchoolNumber + '</font>:<font size="-4"> '+ShortName+ '</font></a><font color="green">*</font><br><br>';
        }else{
        side_bar_html += '<a href="javascript:myclick(' + index + ')"> <font color="red">' +SchoolNumber + '</font>:<font size="-4"> '+ShortName+ '</font></a><br><br>';
        }
        index++;
}

}
}
map.addOverlay(polyline3);
document.getElementById("side_bar").innerHTML = side_bar_html;

}


function drawzone2(a_marker){
schools=[];
index=0;
document.getElementById("side_bar").innerHTML = '';
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());

 var sw = new GLatLng(41.765516007999999, -72.693288331999995);
var ne = new GLatLng(41.807246896000002, -72.645709147000005);
var bounds = new GLatLngBounds(sw, ne);
var mapZoomLevel = map.getBoundsZoomLevel(bounds);
var mapCenter = new GLatLng(41.786381452, -72.6694987395)
map.setCenter(mapCenter, mapZoomLevel);
var markersarr = new Array();
markersarr=a_marker;


var polyline2 = new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: 4,
  opacity: 0.8,
  points: "qfd~FzbnzLhBLOxDrAxPzFc@xNtBW{NgU}T}CcEo@iGAgF^gl@bZxBjKKzQq@`GWfJs@jRq@hKL~H\\xJrBhIdDlDzBtG`JpFzGhEvFt@fAhAnB`A`Cb@rBTzCXbGXvBt@pCfAbD~CfHrBnDrDnEfGvGzDlDhBnA`Bz@`Bh@vB^dBF`IDfG?tDAVxM@xDE|Bg@jGe@hC{AtEKx@@r@yBnLYtByBtb@Iv@GtA_KICp@aCoCkA?kA[wBwA]z@Lt@@fBQfA[bAhDpBM~AgAj@]cBsCxAM_@k@ZAEkAbAWZWQiCtDO`@q@tA@Fg@nAEV]IeIzh@yBw@F]yAs@\\{BaLsFq@hB}Am@f@{A_BQ?c@}Ca@Ad@cD_@B_AcDI?Qy@EGrA_@?Eh@sAKIvAuAHLaDg@GE`Ak@?Ab@oAK?[aBQ@M[G@e@]CHoCv@F@[hBHHwBAKsAKuDw@iDy@_LwCc@GoLa@sTg@i@?QF[TW\\_@p@M^EZWxBCzAFbHaH\\kTAbAeKjAeNaPToZsgDtF}@iE|@",
  levels: "PDCFCHEBFC@IDAB@ADAICBE@?F?ADA?AC@EAC@GAC@EAB@?JA?DBAB@A@D??GCECACGBAB@DDFDDBB@C@BEB?A@@BFKBBDDDDDDBFBCCCABEBBCCCEECBBDABBABBEDBBD?FAA?@G@@F@@B@?D@BFBI?FGEEP",
  zoomFactor: 2, 
  numLevels: 18
});
for(x=0; x<markersarr.length; x++){	
		SchoolNumber=markersarr[x].SchoolNumber;		
        School=markersarr[x].School;
        Zone=markersarr[x].Zone;
        IsMagnet=markersarr[x].IsMagnet;
        Address=markersarr[x].Address; 
        lat=markersarr[x].lat;		
        lon=markersarr[x].lon;
       NCLBstatus=markersarr[x].NCLBstatus;
       ShortName=markersarr[x].ShortName;
        SchoolNeighborhoodCode=markersarr[x].SchoolNeighborhoodCode;               

//flag=addToMapSilent(add,type,casenum,info1,info2,flag,bounds,1);
if(Zone =='2' || IsMagnet=='Y'){
var marker = addToBoundary(SchoolNumber,School,Zone,IsMagnet,lat,lon,NCLBstatus,SchoolNeighborhoodCode,ShortName);
if(marker !=null){
//alert(marker);
map.addOverlay(marker);
schools[index] = marker;
        // add a line to the side_bar html
        if(IsMagnet=='Y'){
        side_bar_html += '<a href="javascript:myclick(' + index + ')"><font color="red">' +SchoolNumber + '</font>:<font size="-4"> '+ShortName+ '</font></a><font color="green">*</font><br><br>';
        }else{
        side_bar_html += '<a href="javascript:myclick(' + index + ')"> <font color="red">' +SchoolNumber + '</font>:<font size="-4"> '+ShortName+ '</font></a><br><br>';
        }
        index++;
}

}
}
map.addOverlay(polyline2);
document.getElementById("side_bar").innerHTML = side_bar_html;
}



function drawzone1(a_marker){

schools=[];
index=0;
document.getElementById("side_bar").innerHTML = '';
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());

 var sw = new GLatLng(41.765594739000001, -72.718206957000007);
var ne = new GLatLng(41.807373855999998, -72.681213278000001);
var bounds = new GLatLngBounds(sw, ne);
var mapZoomLevel = map.getBoundsZoomLevel(bounds);
var mapCenter = new GLatLng(41.786484297499996, -72.6997101175)
map.setCenter(mapCenter, mapZoomLevel);
var markersarr = new Array();
markersarr=a_marker;

var polyline1 = new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: 4,
  opacity: 0.8,
  points: "cc`~Fj}szL@JIvBiBIAZw@GInC\\BAd@ZFAL`BP?ZnAJ@c@j@?DaAf@FM`DtAIHwArAJDi@^?FsAx@D?PbDHC~@pANpAN@e@|C`@?b@~APg@zA|Al@p@iB`LrF]zBxAr@G\\xBv@hAmHzFm_@\\HDWf@oAAGp@uANa@`CkDFIVPV[jAcA@Dj@[L^rCyA\\bBfAk@L_BiDqBZcAPgAAgBMu@\\{@vBvAjAZjA?`CnCBq@tJH@DA\\MdBC`AUzC@nC@h@G`AAV?R@tAb@fZ^dTRjKDjC?rDA|GAdA?`DbAhNhCh^l@rJh@`JnAtRFdAPrCT`Ek_@lAyf@aO__@zBay@dG{|AxL{@k`Aq@ow@WgXYsS|NoAzK{AvHwAbAMJEEX|L?lF@`H]GcHB{AVyBD[L_@LSP]V]ZUPGT?R?rTf@nL`@b@FzCv@bG~Af@J`Cl@tDv@",
  levels: "PBGEFHFEEDIEEGFEFHHGFGEEHEEGF@FEIFGHGGHGFEKAIFCCDBE@HFCFDFFGGIGHCEDFJFEFHFMBCBAE?D?AGAC@@FA@@H@E@ABAAMIJEDN?DBLFDBBHF@FJEDGCDBEDCJ?CDHC@BACP",
  zoomFactor: 2, 
  numLevels: 18
});
for(x=0; x<markersarr.length; x++){	
		SchoolNumber=markersarr[x].SchoolNumber;		
        School=markersarr[x].School;
        Zone=markersarr[x].Zone;
        IsMagnet=markersarr[x].IsMagnet;
        Address=markersarr[x].Address; 
        lat=markersarr[x].lat;		
        lon=markersarr[x].lon;
       NCLBstatus=markersarr[x].NCLBstatus;
       ShortName=markersarr[x].ShortName;
        SchoolNeighborhoodCode=markersarr[x].SchoolNeighborhoodCode;               

//flag=addToMapSilent(add,type,casenum,info1,info2,flag,bounds,1);
if(Zone =='1' || IsMagnet=='Y'){
var marker = addToBoundary(SchoolNumber,School,Zone,IsMagnet,lat,lon,NCLBstatus,SchoolNeighborhoodCode,ShortName);
if(marker !=null){
//alert(marker);
map.addOverlay(marker);
schools[index] = marker;
        // add a line to the side_bar html
        if(IsMagnet=='Y'){
        side_bar_html += '<a href="javascript:myclick(' + index + ')"><font color="red">' +SchoolNumber + '</font>:<font size="-4"> '+ShortName+ '</font></a><font color="green">*</font><br><br>';
        }else{
        side_bar_html += '<a href="javascript:myclick(' + index + ')"> <font color="red">' +SchoolNumber + '</font>:<font size="-4"> '+ShortName+ '</font></a><br><br>';
        }
        index++;
}

}
}
map.addOverlay(polyline1);
document.getElementById("side_bar").innerHTML = side_bar_html;
}




function drawzones(a_marker){
//try{
//schools=a_marker;
schools=[];
index=0;
document.getElementById("side_bar").innerHTML = '';
//geocoder = new GClientGeocoder();
//geocoder.setCache(new SchoolsCache());
//SchoolsCache.prototype = new GGeocodeCache();



var sw = new GLatLng(41.723662849999997, -72.718206957000007);
var ne = new GLatLng(41.807373855999998, -72.642078338000005);
var bounds = new GLatLngBounds(sw, ne);
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());
var mapZoomLevel = map.getBoundsZoomLevel(bounds);
var mapCenter = new GLatLng(41.765518353, -72.6801426475)
map.setCenter(mapCenter, mapZoomLevel);
var markersarr = new Array();
markersarr=a_marker;


var polyline1 = new GPolyline.fromEncoded({
  color: "#0000ff",
  weight: 4,
  opacity: 0.8,
  points: "cc`~Fj}szL@JIvBiBIAZw@GInC\\BAd@ZFAL`BP?ZnAJ@c@j@?DaAf@FM`DtAIHwArAJDi@^?FsAx@D?PbDHC~@pANpAN@e@|C`@?b@~APg@zA|Al@p@iB`LrF]zBxAr@G\\xBv@hAmHzFm_@\\HDWf@oAAGp@uANa@`CkDFIVPV[jAcA@Dj@[L^rCyA\\bBfAk@L_BiDqBZcAPgAAgBMu@\\{@vBvAjAZjA?`CnCBq@tJH@DA\\MdBC`AUzC@nC@h@G`AAV?R@tAb@fZ^dTRjKDjC?rDA|GAdA?`DbAhNhCh^l@rJh@`JnAtRFdAPrCT`Ek_@lAyf@aO__@zBay@dG{|AxL{@k`Aq@ow@WgXYsS|NoAzK{AvHwAbAMJEEX|L?lF@`H]GcHB{AVyBD[L_@LSP]V]ZUPGT?R?rTf@nL`@b@FzCv@bG~Af@J`Cl@tDv@",
  levels: "PBGEFHFEEDIEEGFEFHHGFGEEHEEGF@FEIFGHGGHGFEKAIFCCDBE@HFCFDFFGGIGHCEDFJFEFHFMBCBAE?D?AGAC@@FA@@H@E@ABAAMIJEDN?DBLFDBBHF@FJEDGCDBEDCJ?CDHC@BACP",
  zoomFactor: 2, 
  numLevels: 18
});
 
 var polyline2 = new GPolyline.fromEncoded({
  color: "#ff3300",
  weight: 4,
  opacity: 0.8,
  points: "qfd~FzbnzLhBLOxDrAxPzFc@xNtBW{NgU}T}CcEo@iGAgF^gl@bZxBjKKzQq@`GWfJs@jRq@hKL~H\\xJrBhIdDlDzBtG`JpFzGhEvFt@fAhAnB`A`Cb@rBTzCXbGXvBt@pCfAbD~CfHrBnDrDnEfGvGzDlDhBnA`Bz@`Bh@vB^dBF`IDfG?tDAVxM@xDE|Bg@jGe@hC{AtEKx@@r@yBnLYtByBtb@Iv@GtA_KICp@aCoCkA?kA[wBwA]z@Lt@@fBQfA[bAhDpBM~AgAj@]cBsCxAM_@k@ZAEkAbAWZWQiCtDO`@q@tA@Fg@nAEV]IeIzh@yBw@F]yAs@\\{BaLsFq@hB}Am@f@{A_BQ?c@}Ca@Ad@cD_@B_AcDI?Qy@EGrA_@?Eh@sAKIvAuAHLaDg@GE`Ak@?Ab@oAK?[aBQ@M[G@e@]CHoCv@F@[hBHHwBAKsAKuDw@iDy@_LwCc@GoLa@sTg@i@?QF[TW\\_@p@M^EZWxBCzAFbHaH\\kTAbAeKjAeNaPToZsgDtF}@iE|@",
  levels: "PDCFCHEBFC@IDAB@ADAICBE@?F?ADA?AC@EAC@GAC@EAB@?JA?DBAB@A@D??GCECACGBAB@DDFDDBB@C@BEB?A@@BFKBBDDDDDDBFBCCCABEBBCCCEECBBDABBABBEDBBD?FAA?@G@@F@@B@?D@BFBI?FGEEP",
  zoomFactor: 2, 
  numLevels: 18
});
 
 var polyline3 = new GPolyline.fromEncoded({
  color: "#006600",
  weight: 4,
  opacity: 0.8,
  points: "}y|}FrjszLFaAAi@AoCT{CBaALeB@]AEH?FuAFw@vBtAr@dAzAbBnHjCA?NGp@?nHvBdFTD?BADu@Ba@jBNZFjAFIp@Ad@dCJD_CbBHI`AnAJCx@nADAt@@@Dz@dAHDsB~AJL?AfA~ABAtAZ?CfCb@AX{@`BB@cA`@?@yAE?@aB_@??g@P?@[?e@j@??MJ?AgCjAF@x@tAAAoC?{@rJl@jLd@\\pX`e@HjFjLbG`MnCqCc@aA`AA?g@^?xNSL?P~@LEz@a@BNdAUJECKlAe@eCiMjAc@DTdA_@Hv@h@?~@EIg@pAg@F^Lh@nAg@NGGa@dAc@Jh@hAa@UkBZJOcA`A[F`@~@[PbAjAa@Ks@rAe@p@bFXKFb@~@[b@fDvGpCpIlDxLfFrCjAlCfAjEp@dAde@|C|}@h@vO\\vMVjIaCD?NgABAOS??DG?a@AiABu@?{CHmFHqDHmBD{LTAIg@@?BC?cJPeCDY?_GJsEHuFLaBDcKRiJLaAAkJFkD}BgN`AcBAu@CY?sACko@{AYz@iWrBABu[dCsBFUaEQsCGeAoAuRi@aJm@sJiCi^cAiN?aD@eA@}G?sDEkCSkK_@eTc@gZAuA?S",
  levels: "PC?EABCBDDBJECGE?CFIA@G?GCCFCGHGIGFFGCCHGGAGFHFEJEFHFEFCEEFEAFDDFHFFH@JDKJJCKFGFHA?GF?EE?IDGIDEFFBGFGAH?EFFFHEFGFEGGFEMGEEGI@AB@FKEACANDEEECCCB@C@@??DDDBC????B@@BECHHGA@ACIGCCDMAABA@E@H@@AF@@CB@P",
  zoomFactor: 2, 
  numLevels: 18
});
 
 var polyline4 = new GPolyline.fromEncoded({
  color: "#993300",
  weight: 4,
  opacity: 0.8,
  points: "yp|}FtcqzLHe@??f@iCAs@Jy@zAuEd@iCf@kGD}BAsB?eAWyMtBYbCc@tCa@bEmA`Bm@rAy@~E{DdDyCx@w@v@y@bAiA|@gAv@eAlCwD~@sApBoCtAkBrBqCpCsDv@cAr@iAbFmJFMFOZq@lBkFf@iA~AiFz@oCr@kAhAuBbA_BfBcCnD{DvH_G`HkEbI}DdEuAbFiAjDe@~Cs@dAIjC[lGo@dCMjBIrEExDT~Dr@jBl@|AbAjCbCbX~SxCrB}Izh@cAjG`Fl~@pCn`@fB|VhCp`@xGlcA@fAkEq@mCgAsCkAyLgFqImDwGqCc@gD_AZGc@YJq@cFsAd@Jr@kA`@OcAaAZGa@aAZNbA[KTjBgA`@Mi@eAb@F`@OFoAf@Ki@I_@qAf@Hf@}@Dk@?Iu@eA\\EUkAb@dChMmAd@BJKDcATEOy@`@OFQaAM?yNR_@??f@aA@b@`AoCpCcGaMiFkLce@I]qXkLe@sJm@?z@BnCwA@Ay@kAG@fCK??Lk@??d@AZQ??f@^?A`BD?AxAa@?AbAaBCYz@c@@BgC[?@uA_BC@gAM?}AKGrBeAGC}@CA@u@oAEBy@oAKHaAcBIE~BeCK@e@Ho@kAGYImBMC^Et@C@C?gFUoHwBq@?MFoHkC{AcBs@eAuBuAAA\\wGj@gKHoBf@cJXuB",
  levels: "P?@DCEDFHC?DJBBFCHDECAJCADACB?@?CHC@@FCD@FBBIDGELEGDDHBBDAFEKFEGDDNBJF?DACNF@BA@IGEEGJEFGGEFGFEHFFFE?HAGFGBFFEDIGDI?EE?FG?AHFGFKCJJKDJ@GFFHFDDFAEGEFCBHFFFJFEFHFGAGGHCCGFFGIGHGCGCCG?D@GFFCKGCEBJAAAEP",
  zoomFactor: 2, 
  numLevels: 18
});

for(x=0; x<markersarr.length; x++){	
		SchoolNumber=markersarr[x].SchoolNumber;		
        School=markersarr[x].School;
        Zone=markersarr[x].Zone;
        IsMagnet=markersarr[x].IsMagnet;
        Address=markersarr[x].Address; 
        lat=markersarr[x].lat;		
        lon=markersarr[x].lon;
       NCLBstatus=markersarr[x].NCLBstatus;
       ShortName=markersarr[x].ShortName;
        SchoolNeighborhoodCode=markersarr[x].SchoolNeighborhoodCode;               

//flag=addToMapSilent(add,type,casenum,info1,info2,flag,bounds,1);

var marker = addToBoundary(SchoolNumber,School,Zone,IsMagnet,lat,lon,NCLBstatus,SchoolNeighborhoodCode,ShortName);
if(marker !=null){
//alert(marker);
map.addOverlay(marker);
schools[index] = marker;
        // add a line to the side_bar html
        if(IsMagnet=='Y'){
        side_bar_html += '<a href="javascript:myclick(' + index + ')"><font color="red">' +SchoolNumber + '</font>:<font size="-4"> '+ShortName+ '</font></a><font color="green">*</font><br><br>';
        }else{
        side_bar_html += '<a href="javascript:myclick(' + index + ')"> <font color="red">' +SchoolNumber + '</font>:<font size="-4"> '+ShortName+ '</font></a><br><br>';
        }
        index++;
}

}

map.addOverlay(polyline1);
map.addOverlay(polyline2);
map.addOverlay(polyline3);
map.addOverlay(polyline4);
   document.getElementById("side_bar").innerHTML = side_bar_html;
//}catch(err){alert(err);}
}



function drawchoices(a_marker) {
    //try{
    //schools=a_marker;
    schools = [];
    index = 0;
    document.getElementById("side_bar").innerHTML = '';
    //geocoder = new GClientGeocoder();
    //geocoder.setCache(new SchoolsCache());
    //SchoolsCache.prototype = new GGeocodeCache();



    var sw = new GLatLng(41.723662849999997, -72.718206957000007);
    var ne = new GLatLng(41.807373855999998, -72.642078338000005);
    var bounds = new GLatLngBounds(sw, ne);
    map = new GMap2(document.getElementById("map"));
    map.addControl(new GLargeMapControl());
    map.addControl(new GScaleControl());
    var mapZoomLevel = map.getBoundsZoomLevel(bounds);
    var mapCenter = new GLatLng(41.765518353, -72.6801426475)
    map.setCenter(mapCenter, mapZoomLevel);
    var markersarr = new Array();
    markersarr = a_marker;


   
    for (x = 0; x < markersarr.length; x++) {
        SchoolNumber = markersarr[x].SchoolNumber;
        School = markersarr[x].School;
        Zone = markersarr[x].Zone;
        IsMagnet = "x";
        Address = markersarr[x].Address;
        lat = markersarr[x].lat;
        lon = markersarr[x].lon;
        NCLBstatus = "x";
        ShortName = "x";
        SchoolNeighborhoodCode = "";

        //flag=addToMapSilent(add,type,casenum,info1,info2,flag,bounds,1);

        var marker = addToBoundary(SchoolNumber, School, Zone, IsMagnet, lat, lon, NCLBstatus, SchoolNeighborhoodCode, ShortName);

        if (marker != null) {
            //alert(marker);
            map.addOverlay(marker);
            schools[index] = marker;
            // add a line to the side_bar html
            
                side_bar_html += '<a href="javascript:myclick(' + index + ')"> <font color="red">' + SchoolNumber + '</font>:<font size="-4"> ' + ShortName + '</font></a><br><br>';
            
            index++;
        }

    }

    var polyline1 = new GPolyline.fromEncoded({
        color: "#0000ff",
        weight: 4,
        opacity: 0.8,
        points: "cc`~Fj}szL@JIvBiBIAZw@GInC\\BAd@ZFAL`BP?ZnAJ@c@j@?DaAf@FM`DtAIHwArAJDi@^?FsAx@D?PbDHC~@pANpAN@e@|C`@?b@~APg@zA|Al@p@iB`LrF]zBxAr@G\\xBv@hAmHzFm_@\\HDWf@oAAGp@uANa@`CkDFIVPV[jAcA@Dj@[L^rCyA\\bBfAk@L_BiDqBZcAPgAAgBMu@\\{@vBvAjAZjA?`CnCBq@tJH@DA\\MdBC`AUzC@nC@h@G`AAV?R@tAb@fZ^dTRjKDjC?rDA|GAdA?`DbAhNhCh^l@rJh@`JnAtRFdAPrCT`Ek_@lAyf@aO__@zBay@dG{|AxL{@k`Aq@ow@WgXYsS|NoAzK{AvHwAbAMJEEX|L?lF@`H]GcHB{AVyBD[L_@LSP]V]ZUPGT?R?rTf@nL`@b@FzCv@bG~Af@J`Cl@tDv@",
        levels: "PBGEFHFEEDIEEGFEFHHGFGEEHEEGF@FEIFGHGGHGFEKAIFCCDBE@HFCFDFFGGIGHCEDFJFEFHFMBCBAE?D?AGAC@@FA@@H@E@ABAAMIJEDN?DBLFDBBHF@FJEDGCDBEDCJ?CDHC@BACP",
        zoomFactor: 2,
        numLevels: 18
    });

    var polyline2 = new GPolyline.fromEncoded({
        color: "#ff3300",
        weight: 4,
        opacity: 0.8,
        points: "qfd~FzbnzLhBLOxDrAxPzFc@xNtBW{NgU}T}CcEo@iGAgF^gl@bZxBjKKzQq@`GWfJs@jRq@hKL~H\\xJrBhIdDlDzBtG`JpFzGhEvFt@fAhAnB`A`Cb@rBTzCXbGXvBt@pCfAbD~CfHrBnDrDnEfGvGzDlDhBnA`Bz@`Bh@vB^dBF`IDfG?tDAVxM@xDE|Bg@jGe@hC{AtEKx@@r@yBnLYtByBtb@Iv@GtA_KICp@aCoCkA?kA[wBwA]z@Lt@@fBQfA[bAhDpBM~AgAj@]cBsCxAM_@k@ZAEkAbAWZWQiCtDO`@q@tA@Fg@nAEV]IeIzh@yBw@F]yAs@\\{BaLsFq@hB}Am@f@{A_BQ?c@}Ca@Ad@cD_@B_AcDI?Qy@EGrA_@?Eh@sAKIvAuAHLaDg@GE`Ak@?Ab@oAK?[aBQ@M[G@e@]CHoCv@F@[hBHHwBAKsAKuDw@iDy@_LwCc@GoLa@sTg@i@?QF[TW\\_@p@M^EZWxBCzAFbHaH\\kTAbAeKjAeNaPToZsgDtF}@iE|@",
        levels: "PDCFCHEBFC@IDAB@ADAICBE@?F?ADA?AC@EAC@GAC@EAB@?JA?DBAB@A@D??GCECACGBAB@DDFDDBB@C@BEB?A@@BFKBBDDDDDDBFBCCCABEBBCCCEECBBDABBABBEDBBD?FAA?@G@@F@@B@?D@BFBI?FGEEP",
        zoomFactor: 2,
        numLevels: 18
    });

    var polyline3 = new GPolyline.fromEncoded({
        color: "#006600",
        weight: 4,
        opacity: 0.8,
        points: "}y|}FrjszLFaAAi@AoCT{CBaALeB@]AEH?FuAFw@vBtAr@dAzAbBnHjCA?NGp@?nHvBdFTD?BADu@Ba@jBNZFjAFIp@Ad@dCJD_CbBHI`AnAJCx@nADAt@@@Dz@dAHDsB~AJL?AfA~ABAtAZ?CfCb@AX{@`BB@cA`@?@yAE?@aB_@??g@P?@[?e@j@??MJ?AgCjAF@x@tAAAoC?{@rJl@jLd@\\pX`e@HjFjLbG`MnCqCc@aA`AA?g@^?xNSL?P~@LEz@a@BNdAUJECKlAe@eCiMjAc@DTdA_@Hv@h@?~@EIg@pAg@F^Lh@nAg@NGGa@dAc@Jh@hAa@UkBZJOcA`A[F`@~@[PbAjAa@Ks@rAe@p@bFXKFb@~@[b@fDvGpCpIlDxLfFrCjAlCfAjEp@dAde@|C|}@h@vO\\vMVjIaCD?NgABAOS??DG?a@AiABu@?{CHmFHqDHmBD{LTAIg@@?BC?cJPeCDY?_GJsEHuFLaBDcKRiJLaAAkJFkD}BgN`AcBAu@CY?sACko@{AYz@iWrBABu[dCsBFUaEQsCGeAoAuRi@aJm@sJiCi^cAiN?aD@eA@}G?sDEkCSkK_@eTc@gZAuA?S",
        levels: "PC?EABCBDDBJECGE?CFIA@G?GCCFCGHGIGFFGCCHGGAGFHFEJEFHFEFCEEFEAFDDFHFFH@JDKJJCKFGFHA?GF?EE?IDGIDEFFBGFGAH?EFFFHEFGFEGGFEMGEEGI@AB@FKEACANDEEECCCB@C@@??DDDBC????B@@BECHHGA@ACIGCCDMAABA@E@H@@AF@@CB@P",
        zoomFactor: 2,
        numLevels: 18
    });

    var polyline4 = new GPolyline.fromEncoded({
        color: "#993300",
        weight: 4,
        opacity: 0.8,
        points: "yp|}FtcqzLHe@??f@iCAs@Jy@zAuEd@iCf@kGD}BAsB?eAWyMtBYbCc@tCa@bEmA`Bm@rAy@~E{DdDyCx@w@v@y@bAiA|@gAv@eAlCwD~@sApBoCtAkBrBqCpCsDv@cAr@iAbFmJFMFOZq@lBkFf@iA~AiFz@oCr@kAhAuBbA_BfBcCnD{DvH_G`HkEbI}DdEuAbFiAjDe@~Cs@dAIjC[lGo@dCMjBIrEExDT~Dr@jBl@|AbAjCbCbX~SxCrB}Izh@cAjG`Fl~@pCn`@fB|VhCp`@xGlcA@fAkEq@mCgAsCkAyLgFqImDwGqCc@gD_AZGc@YJq@cFsAd@Jr@kA`@OcAaAZGa@aAZNbA[KTjBgA`@Mi@eAb@F`@OFoAf@Ki@I_@qAf@Hf@}@Dk@?Iu@eA\\EUkAb@dChMmAd@BJKDcATEOy@`@OFQaAM?yNR_@??f@aA@b@`AoCpCcGaMiFkLce@I]qXkLe@sJm@?z@BnCwA@Ay@kAG@fCK??Lk@??d@AZQ??f@^?A`BD?AxAa@?AbAaBCYz@c@@BgC[?@uA_BC@gAM?}AKGrBeAGC}@CA@u@oAEBy@oAKHaAcBIE~BeCK@e@Ho@kAGYImBMC^Et@C@C?gFUoHwBq@?MFoHkC{AcBs@eAuBuAAA\\wGj@gKHoBf@cJXuB",
        levels: "P?@DCEDFHC?DJBBFCHDECAJCADACB?@?CHC@@FCD@FBBIDGELEGDDHBBDAFEKFEGDDNBJF?DACNF@BA@IGEEGJEFGGEFGFEHFFFE?HAGFGBFFEDIGDI?EE?FG?AHFGFKCJJKDJ@GFFHFDDFAEGEFCBHFFFJFEFHFGAGGHCCGFFGIGHGCGCCG?D@GFFCKGCEBJAAAEP",
        zoomFactor: 2,
        numLevels: 18
    });


    //map.addOverlay(polyline1);
    //map.addOverlay(polyline2);
    //map.addOverlay(polyline3);
    //map.addOverlay(polyline4);
    document.getElementById("side_bar").innerHTML = side_bar_html;
    //}catch(err){alert(err);}
}







function  addToBoundary(SchoolNumber,School,Zone,IsMagnet,lat,lon,NCLBstatus,SchoolNeighborhoodCode,ShortName){

//try{
 
      // Retrieve the object
var point = new GLatLng(parseFloat(lat),parseFloat(lon));      
      
if(point != null){     

var icon = new GIcon();
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";



//if(IsMagnet=='Y'){
//    icon.image = get_magnetschoolicon(SchoolNumber);
//    
//}
//else
//{
//icon.image = get_schoolicon(SchoolNumber);
//}


//icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
//icon.iconSize = new GSize(20, 20);
//icon.shadowSize = new GSize(22, 20);
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);



  

var marker = new GMarker(point,icon);

        
     // Add the marker to map
GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(pretty(SchoolNumber,School,Zone,IsMagnet));});
//GEvent.addListener(marker, "mouseout", function() {map.closeInfoWindow();});

//var ew = new EWindow(map,E_STYLE_3);


//map.setCenter(point, 13);



return marker 
}

//}
//catch(err){

//}

return null
}


