    //<![CDATA[
    var mapg;
    var gMarkers=[];
    var markers;
    var vLines;
    var vLinesy;
    var vLat;
    var vLng;
    var vAddr;
    var vFN;
    var lenIcon=0;
    var busCount=0;
    var ws;
    var centrepoint;
    var busroutesread=false;
    var points;

	var contextmenu = document.createElement("div");

    ///Tarig ali - errorHandlerfor unallocated objects
    //***************************************************
    function errorHandler(message, url, line)
    {
       if (document.getElementById("chbus").checked==true)
         {
          window.status = "Welcome to Peel Maps";
         }
         else
         {
// alert(message);
         if (message == "'markers' is null or not an object") {
           window.location.reload(window.location);
          }

          window.status = "Welcome to Peel Maps";
         }
       return true;
    }
    //***************************************************

function load(mapAddr)
{

       if (GBrowserIsCompatible())
       {
        	
         mapg = new GMap2(document.getElementById("map"));
		 mapg.addControl(new GLargeMapControl());
		 mapg.addControl(new GMapTypeControl());
		 mapg.addControl(new GScaleControl());
		
         mapg.setCenter(new GLatLng(cLat, cLng), 15);

        
        //turn on bus checkbox on zoom

		GEvent.addListener(mapg, "zoomend", 
			function() 
			{
				hide();
              	var zoomlevel = mapg.getBoundsZoomLevel(mapg.getBounds());
   				if (zoomlevel > 14)
					document.getElementById("chbus").disabled=false;
				else
					document.getElementById("chbus").disabled=false;//true;
		    }
		);

        //getting new map centre on dragging
		GEvent.addListener(mapg, "moveend", 
		
		function() 
		{
			hide();
         if ( document.getElementById("chbus").checked==true)
			{
			 mapg.clearOverlays();
			var vBS=window.setTimeout('showBusRoutes(busCount)', 1000);

	
			var vRF = loadRF();
			 }

          });

       }

		var vRF=loadRF(mapAddr);
    }

function loadRF(mapAddr)
{
      
    //    if (!markers) {
	GDownloadUrl("/Detail/RegFac.xml", 
		function(data)
		{
		
		var xml = GXml.parse(data);
		markers = xml.documentElement.getElementsByTagName("RF");

		}
		);
	    //
	     
        var point1 = new GLatLng(parseFloat(cLat),parseFloat(cLng));
         
 		var strALL=document.frmA.text1.value;
 		var strALLpc=document.frmA.text2.value;
        var strALLaddr1=document.frmA.text3.value;
        var strurlLinks=document.frmA.text4.value;

		var sHTML1="";
		var point1 = new GLatLng(cLat,cLng);
        var strALLarrPC=strALLpc.split("|");
        var strALLarr=strALL.split("|");
        var strurlLinksarr=strurlLinks.split("|");

        var strLength = strALLarr.length;

        var strALLaddr1AA=strALLaddr1.split("|");

        for (var x = 0; x < (strLength - 1); x++) 
        {
            var strALLc= "";
            strALLc =strALLarr[x];
            var strALLarrc=strALLc.split(",");
            var point1 = new GLatLng(strALLarrc[0],strALLarrc[1]);
            
       	    var RFMarker1 = createMarker1(point1, sHTML1,x,"<b>"+strALLarrPC[x]+"</b>"+"<br>"+strALLaddr1AA[x]+" "+strurlLinksarr[x]);
            mapg.addOverlay(RFMarker1);
		}


		var center;
		if (firstView == 1)
			{
			center = mapg.getCenter();
			centrepoint = center;
			firstView = 0;
			}
		else {
			center = centrepoint;}

        return loadRF;
   //    }
      }
   function loadSchools_CDRCP(layer)
     {
    //    if (!markers) {
		var x;
        var y;
        var point;
        var vBD;
        var vGR;
        var vTYP;
        var ws="";
        var cdrcpid="";
        var bounds=mapg.getBounds();
        var lngmin=bounds.getSouthWest().lng();
        var latmax=bounds.getNorthEast().lat();
        var lngmax=bounds.getNorthEast().lng();
        var latmin=bounds.getSouthWest().lat();

        if(layer=='SCHOOL')
			filename='/Detail/schools.xml';
		else if(layer=='CDRCP')
			filename='/Detail/cdrcp.xml';
		else if(layer=='LM')
			filename='/Detail/LandMarks.xml';

         GDownloadUrl(filename, function(data)
          {
          var xml = GXml.parse(data);
          markers = xml.documentElement.getElementsByTagName("F");
          for (var i = 0; i < markers.length; i++)
           {
           y = parseFloat(markers[i].getAttribute("LAT"));
            if (	(y  >= latmin) && (y <= latmax) )
				{
				x = parseFloat(markers[i].getAttribute("LNG"));
				if ( (x >= lngmin) && (x <= lngmax) )
					{
					point = new GLatLng(y,x);

					vFN=markers[i].getAttribute("FN");
					vAddr=escape(markers[i].getAttribute("ADDR"));
					 var PH=(markers[i].getAttribute("PH"));

					 // for schools
					if(layer=='SCHOOL')
						{
						vGR=markers[i].getAttribute("GR");
						vBD=markers[i].getAttribute("BD");
						vTYP=markers[i].getAttribute("TYP");
						}
					else if(layer=='LM')
						{
						ws=markers[i].getAttribute("WS");
				        }
				    else if(layer=='CDRCP')
						{
						cdrcpid=markers[i].getAttribute("ID");
				        }


					var sHomeData =[];
					sHomeData[lenIcon] = (markers[i].getAttribute("FN")+ "<br>" + markers[i].getAttribute("ADDR")+"<br>" + PH );
					if(layer=='SCHOOL')
						{
						sHomeData[lenIcon] = sHomeData[lenIcon] + "<br>" + "Board: " + vBD + "<br>" + "Type: " + vTYP + "<br>" + "Grades: " + vGR;
						}
					else if( (layer=='LM') && (ws != ""))
						{
						sHomeData[lenIcon] = sHomeData[lenIcon] + "<br>" + "<a href='http://" + ws + "'>Click for website</a>";
						}
					else if( (layer=='CDRCP') && (cdrcpid != ""))
						{
						sHomeData[lenIcon] = sHomeData[lenIcon] + "<br>" + "<a href='http://www.cdrcp.com/cgi-bin/ccws.pl?type=lc&cmd=rec&op=" + cdrcpid + "'>Click for website</a>";
						}

          			sHTML = sHomeData[lenIcon];

					var RFMarker = createMarker(point, sHTML,lenIcon,layer);
              		mapg.addOverlay(RFMarker);

                    lenIcon++;
					}
				}

           }
        });


        return loadSchools_CDRCP;
      }



    var bus_overlay = new Array();

   var vColor;
   var rcount;
   var vCoord=new Array();;
   var vCoordy=new Array();

   var vBSColor;
   var PolyPoints= new Array();
   var PolyPointsy= new Array();
   var pcount;

   var busRoutes;


  function shBusRoutes() {

  if (!busroutesread)
		{
		var vBS = window.setTimeout('initializeBusRoutes()', 1000);
 //		var inbs = initializeBusRoutes();
		busroutesread=true;
		var te = document.getElementById ("waitmessage");
		var style = te.style;
		style.visibility='visible';
		}
   else
		{
	//	var vBS = showBusRoutes(busCount);
		}

  }

   var xmlPL;
    var vBSCount;
    
function join(array, what){
	//var array = this;
	
//	if (typeof array == "ARRAY"){
		var ret = "";
		for (var i = 0; i < array.length - 1; i++){
			ret += array[i] + what;
		}
		ret += array[array.length - 1];
		return ret;
//	} else {
//		return array;
//	}
}

   function initializeBusRoutes() {
	 //   var vBSCount;
	//    alert ("in init");
		points = new Array();
		 GDownloadUrl("BusRoutes_x2.xml", function(dataPL)
			{
		
		//	xmlPL = xmlInit();
			xmlPL = GXml.parse(dataPL);
		//	xmlPL.onreadystatechange = function() {
		//		if(xmlPL.readyState == 4){
					vLines = xmlPL.documentElement.getElementsByTagName("pathx");
					vLinesy = xmlPL.documentElement.getElementsByTagName("pathy");
					busRoutes = xmlPL.documentElement.getElementsByTagName("description");

					vColor = xmlPL.documentElement.getElementsByTagName("Color");

					//alert(join(vColor));
						
					vBSCount=vLines.length;
					//alert ("vbs="+vBSCount);
					for (var i = 0; i < vBSCount; i++)
					{
						PolyPoints[i]=vLines[i].getAttribute("id");
						PolyPointsy[i]=vLinesy[i].getAttribute("id");

						vCoord[i]=PolyPoints[i].split(" ");
						vCoordy[i]=PolyPointsy[i].split(" ");
					}

					var vBS = showBusRoutes(vBSCount);
		//		}
		//	}
		/*
			try {
				xmlPL.open("GET", dataPL, true);
				xmlPL.send(null);
			} catch (e){
				//
			}
		*/
           });

    //   var vBS = showBusRoutes(vBSCount);

       var te = document.getElementById ("waitmessage");
		var style = te.style;
		style.visibility='hidden';
       return initializeBusRoutes;
        }
        


function xmlInit(){
	var xmlHttp;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp = new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e){
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	
	return xmlHttp;
}



var firstTime=2;
function showBusRoutes(vBSCount) 
{

	var encoded_points;
	var encoded_levels = "";
	var plat = 0;
	var plng = 0;
	var broute=new Array();
	var bColor = new Array();
	var prevpoint;
	var prevx;
	var prevy;

    // clear bus legend
    var af = document.getElementById("buslegend");
	while(af.hasChildNodes())
			af.removeChild(af.firstChild);


	rcount=0;
    busCount = vBSCount;

	bColor = [];
	broute = [];	
	points = [];
		
    var x;
    var y;

	var bounds=mapg.getBounds();
    var lngmin=bounds.getSouthWest().lng()-.001;
    var latmax=bounds.getNorthEast().lat()+.001;
    var lngmax=bounds.getNorthEast().lng()+.001;
    var latmin=bounds.getSouthWest().lat()-.001;

 	var zoomlevel = mapg.getBoundsZoomLevel(bounds);
	
	if (zoomlevel > 14) 
	{
		for (var i = 0; i < vBSCount; i++)
        {
			points[rcount]=new Array();
            vBSColor = vColor[i].firstChild.nodeValue;
				
            pcount=0;
            plat=0;
            plng=0;
            encoded_points = "";
            for (var j = 0; j < vCoord[i].length; j++)
			{
				y = parseFloat(vCoordy[i][j]);
				x = parseFloat(vCoord[i][j]);
          		if ((y  >= latmin) && (y <= latmax) )
				{
					if ( (x >= lngmin) && (x <= lngmax) )
					{
						points[rcount][pcount] = new GLatLng(y,x);
						pcount++;
						prevpoint=1;		// in
					}
					else
						prevpoint = 0;		// out
				}
				else
					prevpoint = 0;			// out
					
				prevx = x;
				prevy = y;
			}
			if (pcount > 1)
			{
				bus_overlay[rcount] = new GPolyline(points[rcount], vBSColor, 3);
				mapg.addOverlay(bus_overlay[rcount]);
				bColor[rcount] = vColor[i].firstChild.nodeValue;
				broute[rcount]=busRoutes[i].firstChild.nodeValue;

				// show marker with bus route

				var midpoint = Math.floor(pcount/2);
				var p = points[rcount][midpoint];

				var markerx = p.lng();
				var markery = p.lat();
				var sHomeData =[];

				sHomeData[lenIcon] = busRoutes[i].firstChild.nodeValue;
       			sHTML = sHomeData[lenIcon];

				var busMarker = createMarker(new GLatLng(markery,markerx), sHTML,lenIcon,'BUSR', bColor[rcount]);
				mapg.addOverlay(busMarker);
				lenIcon++;
				rcount++;
			}
		}

		// show bus routes legend
		if (firstTime==1)
		{
			var af = document.getElementById("buslegend");
			af.setAttribute("align","center");

			var routeno;
			var prevroute="";
			var prevcol="";

			var elem = document.getElementById('busRte').style;
			var elem1 = document.getElementById('buslegend').style;
			elem1.height = '250px';	
			
			if (bColor.length>0)
			{
				elem.visibility = 'visible';
			
				var tbl = document.createElement("table");
				var tby = document.createElement("tbody");
				var trObj = document.createElement("tr");
			
				var thObj = document.createElement("th");		
				var thContent = document.createTextNode("Route #");
				thObj.appendChild(thContent);
				trObj.appendChild(thObj);

				thObj = document.createElement("th");
				thContent = document.createTextNode("Color");
				thObj.appendChild(thContent);
				trObj.appendChild(thObj);

				for (var i=0; i < bColor.length; i++)
				{
					// parse bus route
					var busno = broute[i].split(",");
					routeno = busno[0];

					if ((routeno != prevroute) || (bColor[i] != prevcol))
					{
						trObj = document.createElement("tr");
						var tdObj = document.createElement("td");
						var tdContent = document.createTextNode(routeno);
						tdObj.appendChild(tdContent);
						trObj.appendChild(tdObj);

						tdObj = document.createElement("td");
						var sp2 = document.createElement("span");
						sp2.valign = "top";

						sp2.style.color = bColor[i];
						sp2.style.margin="0px";
						sp2.style.width="100px";
						sp2.style.height="2px";
						sp2.style.border="solid 1px";
						sp2.style.fontSize = ".05em";
						sp2.style.backgroundColor = bColor[i];
						tdContent = document.createTextNode("---------------------------");
						sp2.appendChild(tdContent);
						tdObj.appendChild(sp2);
						trObj.appendChild(tdObj);
						tby.appendChild(trObj);

						prevcol = bColor[i];
						prevroute=routeno;
					}
				}
			}
			else
			{
				elem.visibility = 'hidden';
				
				var tbl = document.createElement("table");
				var tby = document.createElement("tbody");
				var trObj = document.createElement("tr");
				
				var thObj = document.createElement("th");		
				var thContent = document.createTextNode("Sorry,");
				thObj.appendChild(thContent);
				trObj.appendChild(thObj);
				
				var thObj = document.createElement("th");		
				var thContent = document.createTextNode(" ");
				thObj.appendChild(thContent);
				trObj.appendChild(thObj);

				thObj = document.createElement("th");
				thContent = document.createTextNode("no bus routes in this area.");
				thObj.appendChild(thContent);
				trObj.appendChild(thObj);
				
				tby.appendChild(trObj);
			}
			tbl.appendChild(tby);
			af.appendChild(tbl);
		}
		firstTime=1;
	}
	else
	{
		document.getElementById('chbus').checked=false;
	}
	return showBusRoutes;
}


  function getIntersection(curx,cury,prevx,prevy,minlng,minlat,maxlng,maxlat)
	{

	// must determine bounding box for line segment defined by curx,cury,prevx,prevy
	var minx = Math.min(curx,prevx);
	var miny = Math.min(cury,prevy);
	var maxx = Math.max(curx,prevx);
	var maxy = Math.max(cury,prevy);

	if (Math.abs(curx-prevx) > 0.00001)
		{
		var m = (cury-prevy)/(curx-prevx);
		var c = cury - m*curx;

		// check intersections with rectangle sides
		// minx
		var y1 = m * minlng + c;
		if ( (y1 >= miny) && (y1 <= maxy) && (minlng >= minx) && (minlng <= maxx))
	//	if ( (y1 >= minlat) && (y1 <= maxlat) )
			{
			// this is intersected side return and exit
			return(minlng+ ' '+ y1 );
			}

		// maxx
		y1 = m * maxlng + c;
		if ( (y1 >= miny) && (y1 <= maxy) && (maxlng >= minx) && (maxlng <= maxx))
	//	if ( (y1 >= minlat) && (y1 <= maxlat) )
			{
			// this is intersected side return and exit
			return(maxlng+ ' '+ y1 );
			}


		// must check if slope = 0
		if ( m != 0)
			{
			// miny
			var x1 = (minlat - c)/ m;
			if ( (x1 >= minx) && (x1 <= maxx) && (minlat >= miny) && (minlat <= maxy))
		//	if ( (x1 >= minlng) && (x1 <= maxlng) )
				{
				// this is intersected side return and exit
				return(x1+ ' '+ minlat );
				}

			// maxy
			var x1 = (maxlat - c)/ m;
			if ( (x1 >= minx) && (x1 <= maxx) && (maxlat >= miny) && (maxlat <= maxy))
		//	if ( (x1 >= minlng) && (x1 <= maxlng) )
				{
				// this is intersected side return and exit
				return(x1+ ' '+ maxlat );
				}
			}
		else
			{
			// horizontal line; y = cury or prevy, must determine x intersect
			if ( (minlng >= minx) && (minlng <= maxx) )
				return(minlng+ ' '+ cury );

			if ( (maxlng >= minx) && (maxlng <= maxx) )
				return(maxlng+ ' '+ cury );
			}
		}
	else
		{
		// vertical line; x = curx or prevx; must determine y intersect
		if ( (minlat >= miny) && (minlat <= maxy) )
				return(curx+ ' '+ minlat );

		if ( (maxlat >= miny) && (maxlat <= maxy) )
				return(curx+ ' '+ maxlat );

		}

	return ('none none');
	}


  function showRF(checkId,layername)
     {


		var curLayer;
		switch (layername) {
			case  'COMREC':
				curLayer = '/images/community.png';
				break;
			case  'LIB':
				curLayer = '/images/library.png';
				break;
			case  'COTHERS':
				curLayer = '/images/icon1.png';
				break;
			default:
				break;
			}


		if ((markers) && (document.getElementById(checkId).checked==true)) {
		  for (var i = 0; i < lenIcon; i++)
            {
             if ( ((gMarkers[i].getIcon()).image).indexOf(curLayer) >= 0 )
				gMarkers[i].show()
			}
		   }
		else
		 {
		   for (var i = 0; i < lenIcon; i++)
            {
            if ( ((gMarkers[i].getIcon()).image).indexOf(curLayer) >= 0 )
				gMarkers[i].hide()
		    }
		  }
      }

   function showSchools_CDRCP(checkId,layername)
     {

		var curLayer;
		switch (layername) {
			case  'SCHOOL':
				curLayer = '/images/school.png';
				break;
			case  'CDRCP':
				curLayer = '/images/smile.png';
				break;
			case  'LM':
				curLayer = '/images/landmark.png';
				break;
			default:
				break;
			}

		if (document.getElementById(checkId).checked==true) {
		   var rt=loadSchools_CDRCP(layername);
		   }
		else
		 {

		   for (var i = 0; i < lenIcon; i++)
            {
            if ( ((gMarkers[i].getIcon()).image).indexOf(curLayer) >= 0 )
				gMarkers[i].hide()
		    }
		  }
      }
      
      
function showBS(checkId)
{

	var curLayer;

		//Tarig
	//var elem = document.getElementById('busRte').style;
	//var elem1 = document.getElementById('buslegend').style;

	if ( document.getElementById(checkId).checked==true)
	{
		//elem.visibility = 'visible';
		//elem1.height = '250px';
		mapg.setCenter(new GLatLng(cLat, cLng), 16);
	}
	else 
	{ //elem.visibility = 'visible';
		var elem = document.getElementById('busRte').style;
		var elem1 = document.getElementById('buslegend').style;
		elem1.height = 0;
		elem.visibility = 'hidden';
		mapg.setCenter(new GLatLng(cLat, cLng), 14);
	}


	if ( document.getElementById(checkId).checked==true) 
	{
	    var vBS=shBusRoutes();
	}
		
	else 
	{
		mapg.clearOverlays();

		var af = document.getElementById("buslegend");
		
		while(af.hasChildNodes())
		af.removeChild(af.firstChild);

		var vRF = loadRF();
	// not necessary in our content ;))
	//		if (document.getElementById("chschool").checked==true)
	//			var rt=loadSchools_CDRCP('SCHOOL');

	//		if (document.getElementById("chcdrcp").checked==true)
	//			var rt=loadSchools_CDRCP('CDRCP');

	//		if (document.getElementById("chlm").checked==true)
	//			var rt=loadSchools_CDRCP('LM');
	}

}


	//	var gmarkers = [];
		var htmls = [];
		var to_htmls = [];
		var from_htmls = [];
		var i=0;

//-------------------------------------------------
      // A function to create the marker and set up the event window
	function createMarker(point,sHTML,i,col, colour) {
		var icon = new GIcon();

		icon.iconSize = new GSize(22, 20);
		if (col=='LIB')
				icon.image = "/images/library.png";
		else if (col=='COMREC')
				icon.image = "/images/community.png";
		else if (col=='SCHOOL')
				icon.image = "/images/school.png";
		else if (col=='CDRCP')
				icon.image = "/images/smile.png";
		else if (col=='LM')
				icon.image = "/images/landmark.png";
		else if (col=='BUSR')
			{
			icon.image = "/images/bus.png";
			icon.iconSize = new GSize(22, 15);
			}
	//	icon.iconSize = new GSize(22, 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);

		GEvent.addListener(marker, "mouseout", function() {
			hide();
		});
		
        GEvent.addListener(marker, "mouseover", function() {
        	
			contextmenu.style.border = "1px solid #6699CC";
			contextmenu.style.backgroundColor = "#FFFFFF";
			contextmenu.style.width = "140px";
			//contextmenu.style.height = "20px";
			contextmenu.style.padding = "5px 5px 5px 5px";
			
			/*
			contextmenu.innerHTML =
					"<p style=\"margin: -5px -5px 5px -5px; padding: 0px 5px 3px 0px; background-color: #CCCCCC; " +
					"text-align: right;\"><a href=\"javascript: hide();\">x</a></p>\n";
			*/
				
			contextmenu.innerHTML = sHTML;

			//fromLatLngToContainerPixel
			//fromLatLngToDivPixel
			var pixel = mapg.fromLatLngToContainerPixel(point);
			
			var x = pixel.x;
			var y = pixel.y;
			
			if (x > mapg.getSize().width - 145 && y > mapg.getSize().height - contextmenu.offsetHeight){
				x = x - 145;
				y = y - contextmenu.offsetHeight;
			} else if (x > mapg.getSize().width - 145){
				x = x - 145;
			} else if (y > mapg.getSize().height - contextmenu.offsetHeight){
				y = y - contextmenu.offsetHeight;
			}
			
			var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(x,y));
			
			pos.apply(contextmenu);
        	
        	mapg.getContainer().appendChild(contextmenu);
        	
			//marker.openInfoWindowHtml(sHTML);
        });
        
        gMarkers[i] = marker;
        htmls[i] = sHTML;

        return marker;
      }

// Encode a signed number in the encode format.
function encodeSignedNumber(num) {
  var sgn_num = num << 1;

  if (num < 0) {
    sgn_num = ~(sgn_num);
  }
  return(encodeNumber(sgn_num));
}
// Encode an unsigned number in the encode format.
function encodeNumber(num) {
  var encodeString = "";

  while (num >= 0x20) {
    encodeString += (String.fromCharCode((0x20 | (num & 0x1f)) + 63));
    num >>= 5;
  }
  encodeString += (String.fromCharCode(num + 63));
  return encodeString;
}
function pausecomp(millis)
{
var date = new Date();
var curDate = null;

do { curDate = new Date(); }
while(curDate-date < millis);
}
function changeCursor(cur)
	{
	if (document.all)
		{
		for (var i=0;i <document.all.length; i++)
			document.all(i).style.cursor = cur;
		}
	}

function pleasewait	()
	{
	var te = document.getElementById ("waitmessage");
	var style = te.style;

	if (style.visibility == 'hidden')
			{
			style.visibility = 'visible';
			style.color="red";
			}
	else
			{
			style.visibility = 'hidden';
			style.color="white";
			}
	}
      // A function to create the marker and set up the event window
		function createMarker1(point,sHTML,i,mapAddr) {


  

		 var strP = "("+cLat+", "+cLng+")"

		var icon = new GIcon();
		 if (strP==point){ icon.image = "/images/icon.png";
		 icon.iconSize = new GSize(37, 37);

		 } else {
		 icon.image = "/images/icon.png";
		 icon.iconSize = new GSize(30, 30);
		 }

		 icon.shadowSize = new GSize(22, 20);
		 icon.iconAnchor = new GPoint(6, 20);
		 icon.infoWindowAnchor = new GPoint(5, 1);

		var marker = new GMarker(point, icon);

        // The info window version with the "to here" form open
        to_htmls[i] = sHTML + '<br>Directions: <b>To here</b> - <a href="javascript:fromhere1(' + i + ')">From here</a>' +
           '<br>Start address:<form action="http://maps.google.com/maps" method="get" target="_blank" id=form1 name=form1>' +
           'Street Number Street Name, City, Province<br><input type="text" SIZE=30 MAXLENGTH=40 name="saddr" id="saddr" value="" /><br>' +
           '<INPUT value="Get Directions" TYPE="SUBMIT" id=SUBMIT1 name=SUBMIT1>' +
           '<input type="hidden" name="daddr" value="' + point.lat() + ',' + point.lng() +
                  // "(" + name + ")" +
           '"/>';
        // The info window version with the "to here" form open
        from_htmls[i] = sHTML + '<br>Directions: <a href="javascript:tohere1(' + i + ')">To here</a> - <b>From here</b>' +
           '<br>End address:<form action="http://maps.google.com/maps" method="get"" target="_blank">' +
           'Street Number Street Name, City, Province<br><input type="text" SIZE=30 MAXLENGTH=40 name="daddr" id="daddr" value="" /><br>' +
           '<INPUT value="Get Directions" TYPE="SUBMIT">' +
           '<input type="hidden" name="saddr" value="' + point.lat() + ',' + point.lng() +
                  // "(" + name + ")" +
           '"/>';
        // The inactive version of the direction info
        //var txtAddr = mapFrm.t.txtAddr.value;
        // var aa = document.mapFrm.

        sHTML = sHTML + mapAddr + '<br><br>Directions: <a href="javascript:tohere1('+i+')">To here</a> - <a href="javascript:fromhere1('+i+')">From here</a>';

        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(sHTML);
        });
        gMarkers[i] = marker;
        htmls[i] = sHTML;
        i++;

        return marker;
      }
      // functions that open the directions forms
      function tohere1(i) {
        gMarkers[i].openInfoWindowHtml(to_htmls[i]);
      }
      function fromhere1(i) {
        gMarkers[i].openInfoWindowHtml(from_htmls[i]);
      }
    //]]>
 function mapTo(i)
{
 //if (i <> "EMPTY")
 //{
 location.href = "map.asp?mId="+i;
 //}
}

function hide(){
	try {
		mapg.getContainer().removeChild(contextmenu);
	} catch (e){
		// Nada
	}
}

