function createOpenInfoWindowFn( pointLat, pointLng, trackerName, trackerIcon, pointTime ) {
	return function() { gmap_openInfoWindow( pointLat, pointLng, trackerName, trackerIcon, pointTime ) ; } ;
}

function drawPathPolyline( gmap, polyPointsArray, color, trackerName, trackerIcon, timeArray ) {
	if( !polyPointsArray ) {
		return null ;
	}
	
	if( !color ) {
		color = "#1CAAC9" ;
	}
	
	var overlays = [] ; 
	
//	var line = new GPolyline( polyPointsArray, color, 3, 0.8 ) ;
//  gmap.addOverlay( line ) ;
//  overlays.push( line ) ;

	var line ;
	for( var i=1 ; i<polyPointsArray.length ; i++ ) {
    	line = new GPolyline( [ polyPointsArray[i-1], polyPointsArray[i] ], color, 3, 0.8 ) ;
        gmap.addOverlay( line ) ;
        overlays.push( line ) ;
    }
    var point, icon, markerOptions ;
	var pointLat, pointLng, pointTime ;
    for( var i=0 ; i<polyPointsArray.length ; i++ ) {
    	icon = new GIcon( G_DEFAULT_ICON ) ;
    	icon.image = "images/path-point.png" ;
    	icon.shadow = "" ;
    	icon.iconSize = new GSize( 9, 9 ) ;
    	icon.iconAnchor = new GPoint( 4, 4 ) ;
    	markerOptions = { icon:icon } ;
    	point = new GMarker( polyPointsArray[i], markerOptions ) ;
    	
    	pointLat = polyPointsArray[i].lat() ;
    	pointLng = polyPointsArray[i].lng() ;
    	pointTime = timeArray[i] ;
    	
    	GEvent.addListener( point, "click", createOpenInfoWindowFn( pointLat, pointLng, trackerName, trackerIcon, pointTime ) ) ;
    	
        gmap.addOverlay( point ) ;
        overlays.push( point ) ;
    }
    
    
    return overlays ;
}
