﻿<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ddwrt2="urn:frontpage:internal">
  <xsl:output method="html" indent="no"/>
	<xsl:param name="ListID">f2a35021-9f2e-4d89-9ae3-6cf83a59ae9c</xsl:param>
	<xsl:param name="ID">1</xsl:param>
	<xsl:template match="/" xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime" ddwrt:ghost="">
    	<xsl:call-template name="dvt_1"/>
  </xsl:template>
  	<xsl:template name="dvt_1">
    	<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row" />
    	<xsl:call-template name="dvt_1.body">
      		<xsl:with-param name="Rows" select="$Rows" />
    	</xsl:call-template>
  </xsl:template>
  	<xsl:template name="dvt_1.body">
    	<xsl:param name="Rows" />
    <!-- Link to the Virtual Earth Map control JS file -->
 	 <div id='myMap' style="position: relative; width: 650px; height: 600px;"></div>
 <script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3">
</script>    
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push(&quot;GetMap&quot;);	  

var map=null;
var sAddress = [];
var sTitle;
var sDescription = [];
var iCount = 0;
var iCurrent = 0;
function GetMap()
     {
            

            if(map == null)
            {
            map = new VEMap('myMap');
    
            map.LoadMap(null, 8, VEMapStyle.Road, false, VEMapMode.Mode2D, true, 1);
            }
            var i=0;
            iCurrent=0;
            for(i=0;i!=iCount;i++)
            {
            	map.Find(null, sAddress[i], null, null, 0, 1, true, true, true, true, PlacesCallBack);
            }
            
		  
	 }
 function PlacesCallBack(shape, find, places, moreresults, error)
      {
      	if(places == null)
      	{
      		return;
      	}
      	
      	var home = places[0]; //first found places
      	var location = home.LatLong;
      	var newShape = new VEShape(VEShapeType.Pushpin, location);
      	newShape.SetDescription(places[0].Name);
        sTitle = sDescription[iCurrent];
       	newShape.SetTitle(sTitle);
      	map.AddShape(newShape);
      	map.SetZoomLevel(10);
      	iCurrent++;	
      }
</script>
            
    	<xsl:for-each select="$Rows">
      		<xsl:call-template name="dvt_1.rowview" />
    </xsl:for-each>
  </xsl:template>
 
  	<xsl:template name="dvt_1.rowview">
   
    <script type="text/javascript">
      	 
         var description = &quot;<xsl:value-of select="@Title" />&quot;;
         var sID = &quot;<xsl:value-of select="@ID" />&quot;;
		 var s = &quot;<xsl:value-of select="@Address" />&quot;;
		 s = s + ' ';
		 s = s +  &quot;<xsl:value-of select="@City" />&quot;;
		 s = s + ', ';
		 s = s +  &quot;<xsl:value-of select="@State" />&quot;;
		 s = s +  ' ';
		 s = s + &quot;<xsl:value-of select="@Zip_x0020_Code" />&quot;;
         sAddress[iCount]= s;
		 <![CDATA[
         description = '<a href=http://site/Lists/carpool/display.aspx?ID=' + sID + '>' + description + '</a>';
         ]]>
         sDescription[iCount] = description;

         iCount++;
    
       
       
    </script>
  </xsl:template>
</xsl:stylesheet>