


pjtcounter=1;
oldcounter=1;
currentX =-4;  currentY =50 ;
pjtlabel= new Array();
trackarray= new Array();
newtrackarray= new Array(new Array());
pjtsequencemax= new Array();
movecounter= 1;
oldzoom=4;

polyline = new Array();
arraytracktype= new Array();
arraytrackcolor= new Array();
arraytrackwidth= new Array();
arraytracklink= new Array();
arraytracktype= new Array();
arraytrackopacity= new Array();
arraytracklabel = new Array();
polylinedata= new Array();
ptpointarraylong= new Array();
ptpointarraylat= new Array();
arrayhoverlabel= new Array();
arrayicontext= new Array();
arrayhovertext= new Array();
arrayinfotext= new Array();
 arraytpa= new Array();
arraytpb= new Array();
arraytpc= new Array();
arraytpd= new Array();

walkMarker= new Array();


function plotVisibleMarkers() {
request= GXmlHttp.create();
movecounter ++;
//window.alert( 'IN call plotVisibleMarkers'  );


 




        //var zoom = map.getZoomLevel()
        //var bounds = map.getBoundsLatLng();
        var xmlSourceURI = pjtdataurl ;
				+
              //  "?l=" + bounds.minX +
               // "&r=" + bounds.maxX +
                //"&b=" + bounds.minY +
                //"&t=" + bounds.maxY +
			//"&z=" + zoom ;
                        


        request.open( "GET", xmlSourceURI, true );


request.onreadystatechange = callback; 


        request.send(null); 
}
 
function callback(){
    if (request.readyState == 4) {
   if (request.status==200) {

           //currentX = map.getCenterLatLng().x;
               // currentY = map.getCenterLatLng().y; 



 xmlDoc = request.responseXML;









    var markers = xmlDoc.documentElement.getElementsByTagName("trackidentity");
//pjtlabel= new Array();

var pjttagname="trackidentity";
    for (var i = 0; i < markers.length; i++) {



//pjtreadvaluestrackidentity(markers,i,pjttagname)



    }//for var

//end of plotting identities



 // Our info window content
var infoTabs = [
  new GInfoWindowTab("", "<maplabel>"),
  //new GInfoWindowTab("Tab #2", "This is tab #2 content")
];
 
   var point = new GLatLng(initstartpointlat ,  initstartpointlong);
	 var marker = new GMarker(point);
      //var marker = createMarker(point,'<div style="width:240px"><maplabel></div>')
			GEvent.addListener(marker, "click", function() {
  marker.openInfoWindowTabsHtml(infoTabs);
});
			
      map.addOverlay(marker);
 //marker.openInfoWindowHtml(html);
//marker.openInfoWindowTabsHtml(infoTabs);














 //xmlDoc = request.responseXML;
var tracks = xmlDoc.documentElement.getElementsByTagName("trackpoint");



var pttrackarray= new Array();
var oldsequence=0;
var arraycounter=0;
var oldidentity = 0 ;
var ptlinecounter =0 ;
    for (var i = 0; i < tracks.length; i++) {
		
	
//var pjtlong = parseFloat(tracks[i].getAttribute("long"));
//var lat = parseFloat(tracks[i].getAttribute("lat"));
//var tidentity = tracks[i].getAttribute("identity");
//var tsequence = parseFloat(tracks[i].getAttribute("sequence"));

//ptpointarraylong[arraycounter]=parseFloat(tracks[i].getAttribute("long"));
//ptpointarraylat[arraycounter]=parseFloat(tracks[i].getAttribute("lat"));

   var point = new GLatLng(parseFloat(tracks[i].getAttribute("lat")) ,  parseFloat(tracks[i].getAttribute("long")));
//window.alert( 'IN call plotVisibleMarkers' + tracks[i].getAttribute("lat") );
pttrackarray[arraycounter]=point;
arraycounter ++;
}//end of var loop

polyline[oldidentity] = new GPolyline(pttrackarray);

//, "#" + arraytrackcolor[oldidentity] , arraytrackwidth[oldidentity] , arraytrackopacity[oldidentity] );
map.addOverlay(polyline[oldidentity]);



	 
	    }//request state
}//callback
}//function


        
function ptplotVisibleMarkers() {
request= GXmlHttp.create();
movecounter ++;
//window.alert( 'IN call plotVisibleMarkers'  );


 




        //var zoom = map.getZoomLevel()
        //var bounds = map.getBoundsLatLng();
        var xmlSourceURI = pjtdataurl ;
				+
              //  "?l=" + bounds.minX +
               // "&r=" + bounds.maxX +
                //"&b=" + bounds.minY +
                //"&t=" + bounds.maxY +
			//"&z=" + zoom ;
                        


        request.open( "GET", xmlSourceURI, true );


request.onreadystatechange = callback; 


        request.send(null); 
}
 
function callback(){
    if (request.readyState == 4) {
   if (request.status==200) {

           //currentX = map.getCenterLatLng().x;
               // currentY = map.getCenterLatLng().y; 



 xmlDoc = request.responseXML;









    var markers = xmlDoc.documentElement.getElementsByTagName("trackidentity");
//pjtlabel= new Array();

var pjttagname="trackidentity";
    for (var i = 0; i < markers.length; i++) {



//pjtreadvaluestrackidentity(markers,i,pjttagname)



    }//for var

//end of plotting identities



 // Our info window content
var infoTabs = [
  new GInfoWindowTab("", "<maplabel>"),
  //new GInfoWindowTab("Tab #2", "This is tab #2 content")
];
 
   var point = new GLatLng(initstartpointlat ,  initstartpointlong);
	 var marker = new GMarker(point);
      //var marker = createMarker(point,'<div style="width:240px"><maplabel></div>')
			GEvent.addListener(marker, "click", function() {
  marker.openInfoWindowTabsHtml(infoTabs);
});
			
      map.addOverlay(marker);
 //marker.openInfoWindowHtml(html);
//marker.openInfoWindowTabsHtml(infoTabs);














 //xmlDoc = request.responseXML;
var tracks = xmlDoc.documentElement.getElementsByTagName("trackpoint");



var pttrackarray= new Array();
var oldsequence=0;
var arraycounter=0;
var oldidentity = 0 ;
var ptlinecounter =0 ;
    for (var i = 0; i < tracks.length; i++) {
		
	
//var pjtlong = parseFloat(tracks[i].getAttribute("long"));
//var lat = parseFloat(tracks[i].getAttribute("lat"));
//var tidentity = tracks[i].getAttribute("identity");
//var tsequence = parseFloat(tracks[i].getAttribute("sequence"));

//ptpointarraylong[arraycounter]=parseFloat(tracks[i].getAttribute("long"));
//ptpointarraylat[arraycounter]=parseFloat(tracks[i].getAttribute("lat"));

   var point = new GLatLng(parseFloat(tracks[i].getAttribute("lat")) ,  parseFloat(tracks[i].getAttribute("long")));
//window.alert( 'IN call plotVisibleMarkers' + tracks[i].getAttribute("lat") );
pttrackarray[arraycounter]=point;
arraycounter ++;
}//end of var loop

polyline[oldidentity] = new GPolyline(pttrackarray);

//, "#" + arraytrackcolor[oldidentity] , arraytrackwidth[oldidentity] , arraytrackopacity[oldidentity] );
map.addOverlay(polyline[oldidentity]);



	 
	    }//request state
}//callback
}//function















function onMapMoved() {
        //if( infoOpened == true ) {
          //      infoOpened = false;
             //   return;
       // }
//var zoom = map.getZoomLevel()
        //if(!(zoom == oldzoom) ){
//map.clearOverlays(); 
//}
//oldzoom=zoom;
        ptplotVisibleMarkers();
 //if(document.all){correctPNG();}

}

function onInfoWindowOpen() {
        infoOpened = true;

} 

function currentMapTypeNumber(map){
  var type=-1;
  for(var ix=0;ix<map.getMapTypes().length;ix++){
    if(map.getMapTypes()[ix]==map.getCurrentMapType())
      type=ix;
  }
  return type;

}
