<?php
date_default_timezone_set('Asia/Kolkata');
ini_set('display_errors', 1);
ini_set('log_errors', 1);
ini_set('error_log', dirname(__FILE__) . '/usr/local/apache/logs/error_log.txt');
error_reporting(E_ALL);
error_reporting(0);
require_once('config.php');
$now=time();
$diff=abs($fromDate-$now);
error_log($fromDate.'fromdate'.$now.'-now');
$diffindays = floor(($diff)/86400);
error_log($diffindays.'diff');
/*
if($diffindays>15){
$gtsserver ="localhost";
$gtsusername ="root";
$gtspassword="gl0v1s10n";
$gtsdb ="gtshealth";
}*/
error_log($gtsserver.'-'.$gtsusername);



session_start();
$idlelat=$_GET['idlelat'];
$idlelong=$_GET['idlelong'];
$displayonlyIdles=$_GET['onlyidles'];
$startlatlong=$_GET['slatlong'];
$name=$_GET['name'];
$endlatlong=$_GET['endlatlong'];
$startindx=$_GET['startindx'];
$endIndx=$_GET['endIndx'];
$departTime=$_GET['fromdate'];
$sapDis=$_GET['sapDis'];
$gtsDis=$_GET['gtsDis'];
$lat=$_GET['lat'];
$long=$_GET['long'];
$vehicleID=$_GET['vehicleID'];
$accountID=$_GET['accountID'];
$travelDistance=$_GET['travelDistance'].' Kms';
$latitude = $_GET['lat'];
    $longitude = $_GET['long'];
 $idle = $_GET['idle'];
$waitTime=TimeFormate($_GET['waitTime']);
$WaitLocation=$_GET['WaitLocation'];
$platEntryTime=$_GET['todate'];
//$platEntryTime=$platEntryTime-19800;
//$waitTime=$waitTime-19800;


error_log('entry timee  '.date('d-m-Y h:i:s a',$platEntryTime).' depart tiem'.date('d-m-Y h:i:s a',$departTime));
//error_log($vehicleID.'vechiollllllllllllllllllllll');
 //$nearestGeozoneID=$_SESSION['nearZone'];
$nearestGeozoneID=$_GET['nearZone'];
session_start(); 
$eventData=array(array());

//getEventData($vehicleID,$accountID,$departTime,$platEntryTime);
//echo strtotime($platEntryTime).'   '.strtotime($departTime).'  '.$_GET['request'];
if($_GET['request']=="itself")
  getEventData($vehicleID,$accountID,strtotime($platEntryTime),strtotime($departTime));
else
  getEventData($vehicleID,$accountID,time(),time()-86400);


//$eventData=$_SESSION[$vehicleID];
//error_log('errror count'.$evemtData[$startindx][3]);
$data='';
$indx=0;
//$departTime=date('Y-m-d H:i:s',$departTime);

error_log('evnt count'.count($eventData));
$startOdo=$eventData[0][4];
$endOdo=$eventData[count($eventData)-1][4];
$distanceTravelled=intval($endOdo-$startOdo);
for($i=0;$i<count($eventData);$i++){
  //error_log('date'.$departTime);
  //if(strtotime($eventData[$i][3])>$departTime){
      
      $data .=$eventData[$i][0].'^'.$eventData[$i][3].'^'.$eventData[$i][8].'^'.$eventData[$i][9].'^'.$eventData[$i][10].'^'.'*';
   //}
}
//error_log($data.'    '.count($eventData));
  $geozones =array(array());
  getZones();
$zones="";
for($i=0;$i<count($geozones);$i++){
  //error_log($geozones[$i][0].'^'.$geozones[$i][1].'^'.$geozones[$i][2].'^'.'*');
  $zones .=$geozones[$i][0].'^'.$geozones[$i][1].'^'.$geozones[$i][2].'^'.$geozones[$i][3].'^'.'*';
 
}
$factory=str_replace("-"," ",$_GET['factory']);; 
$destination=str_replace("-"," ",$_GET['destination']);;
//error_log($startindx.' :start '.$endIndx.' end indx'.' count'.$data);
function TimeFormate($timeDiff){
	$hours=0;
	$min=0;
	$sec=0;
        if ($timeDiff==0) {
            return 0;
        }
	if($timeDiff>=3600){
		$hours=intval($timeDiff/(60*60));
		$tempmin=$timeDiff%(60*60);
		$result=TimeFormate($tempmin);
		return $hours."Hr :".$result;
	}else if($timeDiff>=60){
		 $min=intval($timeDiff/60);
		 $tempsec=$timeDiff%60;
		 
		 return $min." Min :".TimeFormate($tempsec);
	}else{
	     return $timeDiff." sec";	
	}
	
}

function getEventData($vehicleID,$accountID,$fromDate,$toDate){
       global $gtsserver, $gtsusername, $gtspassword,$gtsdb,$eventData;
      
      $Query = " SELECT geozoneID,timestamp,deviceID,FROM_UNIXTIME(timestamp) as 'time1',speedKPH,address,odometerKM+odometerOffsetKM as 'distance',statusCode,analog0,latitude,longitude FROM `EventData` where deviceID='$vehicleID' and accountID='$accountID' AND statusCode in ('62000','61968','61718','61720','61717','61477','61714') and timestamp between '$toDate' and '$fromDate' order by timestamp asc ";  //request from web for particular vehicle
  
       $gtsconnect = mysql_connect($gtsserver, $gtsusername, $gtspassword) or die ("Unable to connect to the database: " . mysql_error());
        if(date('d-M-Y',$fromDate)==date('d-M-Y') || date('d-M-Y',$toDate)==date('d-M-Y')){
                  mysql_select_db('gts', $gtsconnect);

         }else{
        //mysql_select_db('gtshealth', $gtsconnect);
        mysql_select_db('gts', $gtsconnect);

         }


//       mysql_select_db($gtsdb, $gtsconnect);
       error_log($Query);
       $rs =mysql_query($Query) or die ("Query error1: " . mysql_error());
       $num_rows = mysql_num_rows($rs);
       $i=0; 
       while($row = mysql_fetch_assoc($rs)) {
          // if($row['statusCode']=='62000' ||  $row['statusCode']=='61968'){ error_log($row['geozoneID']." ".$row['statusCode'].'  '.$row['time1']);}
           $eventData[$i][0]=$row['geozoneID'];
           $eventData[$i][1]=$row['deviceID'];
           $eventData[$i][2]=$row['statusCode'];
           $eventData[$i][3]=$row['time1'];
           $eventData[$i][4]=$row['distance'];
           $eventData[$i][5]=$row['speedKPH'];
           $eventData[$i][6]=$row['address'];
           $eventData[$i][7]=$row['analog0'];
           $eventData[$i][8]=$row['latitude'];
           $eventData[$i][9]=$row['longitude'];
           $eventData[$i][10]=$row['timestamp'];
           if($i>0 && $row['latitude']!= 0 && $row['longitude']!=0 && $eventData[$i-1][8]!=0 && $eventData[$i-1][9]!=0) {

                 $eventtoeventdistance=distance1($row['latitude'],$row['longitude'], $eventData[$i-1][8], $eventData[$i-1][9]);
                 $difftimes=abs(strtotime($eventData[$i][3])-strtotime($eventData[$i-1][3]))/60;
                // echo 'difftime'.$difftimes.'   '.$data[$indx][7].'<br>';
                 $maxDistanceTravelledperMint=2;//max km travelled per mint
                 $calculatedDistenceTravelledperMint=intval($eventtoeventdistance)/$difftimes;
                 if(is_nan($eventtoeventdistance) || ($eventtoeventdistance>5 && $difftimes<5)){//if distnace greater than 2 km with 5 minits then distnace=0 bzc drift point in 
                    //  $eventData[$i][7]=0;
                   echo $eventtoeventdistance.' '.$difftimes.'  '. $eventData[$i][8].'  '.$eventData[$i][9].' '.$eventData[$i][3].' removed <br> '; 

                }else{
                    echo $eventtoeventdistance.' '.$difftimes.'  '. $eventData[$i][8].'  '.$eventData[$i][9].' '.$eventData[$i][3].'  '.$eventData[$i-1][3].' <br> ';                 
                   $i++;
               }
          }
         if($i==0){$i++;}
            
         //  $i++;
       }
       mysql_close($gtsconnect);
}

function distance1($lat1, $lon1, $lat2, $lon2) {
 if($lat1 == $lat2 && $lon1 == $lon2){
 return 0;
  
 }else{$theta = $lon1 - $lon2;
  $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
  $dist = acos($dist);
  $dist = rad2deg($dist);
  $miles = $dist * 60 * 1.1515;
  return $miles* 1.609344;}
}
function getZones(){
       global $gtsserver, $gtsusername, $gtspassword,$gtsdb,$accountID,$geozones;
       $gtsconnect = mysql_connect($gtsserver, $gtsusername, $gtspassword) or die ("Unable to connect to the database: " . mysql_error());
       mysql_select_db('gts', $gtsconnect);
       $query = "SELECT geozoneID,latitude1,longitude1,radius from Geozone where accountID='$accountID'";
           error_log($query);
       $qry_result = mysql_query($query) or die(mysql_error());
       $i=0;
       while($row = mysql_fetch_assoc($qry_result))
       {
         //error_log($row['geozoneID'].'  '.$row['latitude1'].'   '.$row['longitude1'].' '.$row['radius']);
           $geozones[$i][0]= $row['geozoneID'];
           $geozones[$i][1]= $row['latitude1'];
           $geozones[$i][2]= $row['longitude1'];
           $geozones[$i][3]= $row['radius'];
           
           $i++;
       }
       mysql_close($gtsconnect);
       

   }
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> -->
<!-- <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -->
<!-- <html xmlns='http://www.w3.org/1999/xhtml' xmlns:v='urn:schemas-microsoft-com:vml'>-->
<!-- custom/loginSession_cbanner.jsp: E2.5.3-B03 [default] page=login
  =======================================================================================
  Copyright(C) 2007-2013 Glovision Techno Services, All rights reserved
  Centered image banner
  =======================================================================================
-->
<!-- meta -->
<html>
   <head>
       <meta name="author" content="Glovision Techno Services"/>
       <meta http-equiv="content-type" content='text/html; charset=UTF-8'/>
       <link rel="shortcut icon" href="../../../images/glovision.ico"/>
       <title>Glovision Techno Services</title>
<!--
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&v=3&libraries=geometry"></script>       -->
     <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true&libraries=drawing"></script> 
   <script type="hacker/JavaScript" hacker="enabled"></script>
<script src="../js/jquery-1.11.1.min.js"></script>
<script src="../js/datePicker1.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="../js/jquery.datetimepicker.css"/>

<script src="../js/jquery.datetimepicker.js" type="text/javascript"></script>
       <script>
          //var directionsDisplay;
	  //var directionsService = new google.maps.DirectionsService();
        /*  google.maps.event.addDomListener(window, 'load', displayCurrentStatus);

     function displayCurrentStatus()
    {
            var rendererOptions = {
            map: maptest,
            suppressMarkers : true
  
             }
    directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);    
}*/
       
           var eventData='<?php echo $data; ?>'; 
           var zone='<?php echo $zones; ?>'; 
           var factory='<?php echo $factory; ?>'; 
            var name='<?php echo $name; ?>'; 
           var destination='<?php echo $destination; ?>';
           var nearestGeozoneID='<?php echo $nearestGeozoneID; ?>';
           var sapdis='<?php echo $sapDis; ?>'; 
           var gtsDis='<?php echo $gtsDis; ?>';
           //var lat1='<?php echo $lat; ?>';
           // var long1='<?php echo $long; ?>';
           var waitTime='<?php echo $waitTime; ?>'; 
           var travelDistance='<?php echo $travelDistance; ?>'; 
           var WaitLocation='<?php echo $WaitLocation; ?>'; 
           var distanceTravelled='<?php echo $distanceTravelled; ?>'; 
           var vehicleID='<?php echo $vehicleID; ?>'; 
           var accountID='<?php echo $accountID; ?>';

           var latitude='<?php echo $latitude; ?>';
           var longitude='<?php echo $longitude; ?>';
           var idle='<?php echo $idle; ?>';
           var idlelat='<?php echo $idlelat; ?>';
              var idlelat1=idlelat.split(',');
           var idlelong='<?php echo $idlelong; ?>';
              var  idlelong1=idlelong.split(',');
            var slatlong='<?php echo $startlatlong; ?>';
          
            
            var slat=slatlong.split("-")[0];
           var slong=slatlong.split("-")[1];
           var endlatlong='<?php echo $endlatlong; ?>';
           var elat=endlatlong.split("-")[0];
           var elong=endlatlong.split("-")[1];
           var allzones="one";
          
     
           var event = eventData.split('*'); 
           var zones = zone.split('*'); 
           google.maps.event.addDomListener(window, 'load', initialise4);
            var map;
           var tochZones=[];
           var drawingManager;
//google.maps.event.addDomListener(window, 'load', displayCurrentStatus);

           function initialise4() {
             

              var centr=event[0].split('^');
              var mapOptions = {
                  zoom: 9,
                  center: new google.maps.LatLng(parseFloat(centr[2]),parseFloat(centr[3]))
               };
               var mapDiv = document.getElementById('mapcontainer');
                map = new google.maps.Map(mapDiv, mapOptions);


               //creating circle
                if(idle=="yes"){
                    pushpin(map,latitude,longitude,'Idle Point',"yes",100);
                }   
                //display statrt location
                 var info="Asset :"+vehicleID+"  &nbsp"+name+"<br>Starting Locaton :"+factory+"<br>Travell Distance:"+travelDistance;
             //   pushpin(map,slat,slong,info,"yes",100);
                //display ending location
               // pushpin(map,elat,elong,"Ending : "+destination,"yes",100);
                //display all idle poins
                displayidles(map);
   //           displayCurrentStatus(); //google driving path showing on map 
                drawingManager = new google.maps.drawing.DrawingManager({
                   //drawingMode: google.maps.drawing.OverlayType.MARKER,
                   drawingControl: true,
                   drawingControlOptions: {
                      position: google.maps.ControlPosition.TOP_CENTER,
                           drawingModes: [
                              // google.maps.drawing.OverlayType.MARKER,
                               google.maps.drawing.OverlayType.CIRCLE,
                               //google.maps.drawing.OverlayType.POLYGON,
                               //google.maps.drawing.OverlayType.POLYLINE,
                               //google.maps.drawing.OverlayType.RECTANGLE
                           ]
                   },
    
                  circleOptions: {
                     fillColor: '#ffff00',
                     fillOpacity: 0.12,
                     strokeWeight: 3,
                     clickable: true,
                     editable: true,
                     zIndex: 1
                  }
               });




               //drawingManager.setMap(map);    
               google.maps.event.addListener(drawingManager, 'circlecomplete', function(circle) {
               var radius = circle.getRadius(),
               center = circle.getCenter();
               var r = confirm("Do You Want Save?");
               if (r == true) {
                 var zoneID = prompt("Enter Zone Name(without spaces)", "fill1");
                 var color = prompt("Enter Color", "pink/blue");
                 var queryString="insertZone.php?accountID="+accountID+"&lat="+circle.getCenter().lat()+"&long="+circle.getCenter().lng()+"&radius="+circle.getRadius()+"&zoneID="+zoneID+"&color="+color;
                 //alert(queryString);
                 window.open(''+queryString,'zoneCreate','left=300,top=300,width=500px,height=50px,toolbar=1,resizable=0');



                
               }
                 google.maps.event.addListener(circle, 'rightclick', function(ev){
         
                circle.setMap(null);
 
               });
 // google.maps.event.addDomListener(window, 'load', displayCurrentStatus);      
              google.maps.event.addListener(circle, 'click', function(ev){
              // circle.setMap(null);
              var r = confirm("Do You Want Save?");
              if (r == true) {
                  var zoneID = prompt("Enter Zone Name(without spaces)", "fill1");
                   var color = prompt("Enter Color", "pink/blue");
                  var queryString="insertZone.php?accountID="+accountID+"&lat="+circle.getCenter().lat()+"&long="+circle.getCenter().lng()+"&radius="+circle.getRadius()+"&zoneID="+zoneID+"&color="+color;
                  //alert(queryString);
                   window.open(''+queryString,'zoneCreate','left=300,top=300,width=500px,height=50px,toolbar=0,resizable=0');
              }
      
           });
     
        });

               //circleCreation(lat1,long1,map,'#5882FA',0.8);
              // var waitLocation="WaitLocation: "+WaitLocation+"<br> wait Time:"+waitTime+";<br>GTS Distance :"+distanceTravelled+" Km";
              // pushpin(map,lat1,long1,waitLocation,"yes");
               
               var indx=0;
               for(var m=0;m<event.length;m++){
                   var evntdata=event[m].split('^');
                   if(evntdata[0]!=""){
                      tochZones[indx++]=evntdata[0];
                    }

                   var evntdata2=event[m+1].split('^');
                   var lineSymbol = {
                        //  path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
                   //        scale:2,
                        // strokeColor: '#2ECCFA',
                         // strokeOpacity: 1.0,
                       //strokeWeight: 2
                                    path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
                                //strokeColor: '#2E2EFE' //arrow color


                   };
                     var evntdata1=event[m+1].split('^');
                       //  alert(evntdata[4]-evntdata1[4]);

                  // google driving path for drift 
                  
                    if(evntdata1[4]-evntdata[4]>240 && accountID=="goghealth"){
                  
                                atob(evntdata[2],evntdata[3],evntdata1[2],evntdata1[3]);
                               continue;
                   }
                   var lineCoordinates = [
                       new google.maps.LatLng(parseFloat(evntdata[2]),parseFloat(evntdata[3])),
                       new google.maps.LatLng(parseFloat(evntdata2[2]),parseFloat(evntdata2[3]))
                     ];

                 var line = new google.maps.Polyline({
                   path: lineCoordinates,
                     icons: [{
                          icon: lineSymbol,
                          offset: '100%'
                       }],
                    title:"Zone Id: ",
                       map: map
                  });



                  
                  
             }
           //  atob();
              gonesput1();
           
         }

// google.maps.event.addDomListener(window, 'load', displayCurrentStatus);
/*
var DirectionsDisplay;
          var directionsService = new google.maps.DirectionsService();
   function displayCurrentStatus()
    {
       alert('oneee');
            var rendererOptions = {
            map: map,
            suppressMarkers : true
  
             }
    directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);    
}*/
function atob(lat1,long1,lat2,long2) {

var DirectionsDisplay;
          var directionsService = new google.maps.DirectionsService();
 var rendererOptions = {
           // map: map,
            //   path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,

          // icons:[{repeat:'50px',icon:{path:google.maps.SymbolPath.FORWARD_CLOSED_ARROW}}],
            suppressMarkers : true,
           //strokeColor: '#8b0013'
             }
var polylineOptionsActual = new google.maps.Polyline({
    strokeColor: '#0000',
    strokeOpacity: 1.0,
    strokeWeight: 2,
     suppressMarkers : true
    });

    directionsDisplay = new google.maps.DirectionsRenderer({ suppressMarkers: true, polylineOptions: polylineOptionsActual });   


 // alert();
  //    getLocation();
            /* var discription='';
         if(atoborbtoa=="atob"){
               discription="From vehicle to person";

           //    distanceinkm= google.maps.geometry.spherical.computeDistanceBetween (start,end);
           }else if(atoborbtoa=="btoa"){
               discription="From person to vehicle";
             //  distanceinkm= google.maps.geometry.spherical.computeDistanceBetween (end,start);
          }
*/
          //document.getElementById('atob').style.opacity=1;
          //document.getElementById('btoa').style.opacity =0.5;

  //           var value=<?php echo json_encode($row); ?>;
            //alert(currlat+' '+currlong);
            var start = new google.maps.LatLng(lat1,long1);
            //var end = new google.maps.LatLng(38.334818, -181.884886);
            var end = new google.maps.LatLng(lat2,long2);
           //alert(value[1]+' '+value[2]);
          //  alert( google.maps.geometry.spherical.computeDistanceBetween (start,end));
            var request = {
              origin: start,
              destination: end,
              travelMode: google.maps.TravelMode.DRIVING
             //  travelMode: google.maps.TravelMode.TRANSIT
            };
  //        map.setZoom(5);
  //  alert();
            directionsService.route(request, function(response, status) {
              if (status == google.maps.DirectionsStatus.OK) {
                 // var distance=response.routes[0].legs[0].distance.value/1000;
                 // if(distance<1){alert("Vehicle Reached");}
                   // document.getElementById('dis').innerHTML="<b>You are here</b> <br>"+distance.toFixed(2)+" Km<br> "+discription;
                
                  

                directionsDisplay.setDirections(response);
                directionsDisplay.setMap(map);
           //     maptest.setZoom(14);

                 /*  if(distance<1){alert("Reached "+distance.toFixed(2)+" Km  "+"Person To Vehicle("+vehicleID+") ");
                             notifyMe("Reached "+distance.toFixed(2)+" Km  "+"Person To Vehicle("+vehicleID+") ");
                   }*/

              } else {
               // alert("Directions Request from " + start.toUrlValue(6) + " to " + end.toUrlValue(6) + " failed: " + status);
              }
            });
/*setTimeout(function() { 
      alert('close'); 
}, 5000);*/
//sleepFor(5000);
alert("close"+lat1+'   '+long1+' '+lat2+'  '+long2);
          }

function sleepFor( sleepDuration ){
    var now = new Date().getTime();
    while(new Date().getTime() < now + sleepDuration){ /* do nothing */ } 
}

          function pushpin(map,lat,lang,zone,status,r){

               var position = new google.maps.LatLng(parseFloat(lat),parseFloat(lang));
  	       var marker = new google.maps.Marker({
                   position: position,
                   map: map,
                  
                   animation: google.maps.Animation.DROP,
                   title:"Zone Id: "+zone,
                   visible: true
               });
               var infowindow = new google.maps.InfoWindow({
                    content: zone
                   });
               if(status=='no'){
                  google.maps.event.addListener(marker, 'click', function() {
                    infowindow.open(map,marker);
                   });
               }else{infowindow.open(map,marker);}
          }

          function circleCreation(lat,long,map,color,opacity,r,geozone){
                
             var populationOptions = {
                 strokeColor: color,
                 strokeOpacity: 0.5,
                 strokeWeight: 2,
                 fillColor: color,
                 fillOpacity: opacity,
                  //editable: true,
                 map: map,
                 center: new google.maps.LatLng(parseFloat(lat),parseFloat(long)),
                 
                 radius: parseInt(r)
                 
                 };
              // Add the circle for this city to the map.
                
              var cityCircle = new google.maps.Circle(populationOptions);
                    
                var infowindow = new google.maps.InfoWindow({
                content: "Zone Id: "+geozone
                });
               google.maps.event.addListener(cityCircle, 'click', function() {
               
                     infowindow.open(map,cityCircle);
                });
                /*
                //to update Geozone
                 google.maps.event.addListener(cityCircle, 'rightclick', function(ev){
         
                //cityCircle.setMap(null);//delete circle
                  
                  var r = confirm("Do You Want Update?");
                  if (r == true) {
                  var zoneID = geozone;
                   var color = color;
                  var queryString="insertZone.php?accountID="+accountID+"&lat="+cityCircle.getCenter().lat()+"&long="+cityCircle.getCenter().lng()+"&radius="+cityCircle.getRadius()+"&zoneID="+zoneID+"&color="+color;
                  //alert(queryString);
                   window.open(''+queryString,'zoneCreate','left=300,top=300,width=500px,height=50px,toolbar=0,resizable=0');
                 }
 
               });*/

          }
         function distance(lat1, lon1, lat2, lon2, unit) {
	    var radlat1 = Math.PI * lat1/180;
	    var radlat2 = Math.PI * lat2/180;
	    var radlon1 = Math.PI * lon1/180;
	    var radlon2 = Math.PI * lon2/180;
	    var theta = lon1-lon2;
	    var radtheta = Math.PI * theta/180;
	    var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
	    dist = Math.acos(dist);
	    dist = dist * 180/Math.PI;
	    dist = dist * 60 * 1.1515;
	    if (unit=="K") { dist = dist * 1.609344; }
	    if (unit=="N") { dist = dist * 0.8684 ;}
	    return dist;
	}
         function gonesput1(){
                     var lat1='';
             var long1='';
             var info="Asset :"+vehicleID+"  &nbsp"+name+"<br>Starting Locaton :"+factory+"<br>Travell Distance:"+travelDistance;
             //   pushpin(map,slat,slong,info,"yes",100);
               
               // pushpin(map,elat,elong,"Ending : "+destination,"yes",100);
            
             for(var m=0;m<zones.length;m++){
                 
                   
                 var color='green';
                 var opacity=0.3;
                 var zoneId=zones[m].split('^');
                 var evntdata=event[1].split('^');
                  var dis=distance(evntdata[2], evntdata[3], zoneId[1], zoneId[2], "K");
                 if(dis>20){//display zones within 30 km distance
                    continue;
                 }
                 var lat=0;
                 var long=0;
                 for(var zindx=0;zindx<tochZones.length;zindx++){
                   if(zoneId[0]==tochZones[zindx]){
                       pushpin(map,zoneId[1],zoneId[2],zoneId[0],'no',zoneId[3]);
                       color='green';
                       opacity=0.6;
                       circleCreation(zoneId[1],zoneId[2],map,color,opacity,zoneId[3],zoneId[0]);
                      break;
                    }
                 } 
                 
                /* if(zoneId[0]==factory){
                   //alert(zoneId[0].split('.')[1]+"  "+factory.split('.')[1]);
                    var info="VehicleID:"+vehicleID+"<br>Fill Sation :"+zoneId[0]+"<br>Travell Distance:"+travelDistance;
                    pushpin(map,zoneId[1],zoneId[2],info,'yes',zoneId[3]);
                    color='#1200DC';
                    opacity=0.3;
                      circleCreation(zoneId[1],zoneId[2],map,color,opacity,zoneId[3],zoneId[0]);   
                       continue; 
                 }*/
                 
               
               /*  if(zoneId[0]==destination){
                       //alert('d '+m);
                       var info="Delivery Station:"+zoneId[0];
                       pushpin(map,zoneId[1],zoneId[2],info,'yes',zoneId[3]);
                       color='pink';
                       opacity=0.3;
                       circleCreation(zoneId[1],zoneId[2],map,color,opacity,zoneId[3],zoneId[0]);
                      continue;
                 }*/
                 if(allzones=="all"){
                   if(zoneId[0]==nearestGeozoneID){
                     //alert('n'+m);
                     var info="Near Zone:"+zoneId[0];
                     pushpin(map,zoneId[1],zoneId[2],info,'no',zoneId[3]);
                     color='green';
                     opacity=0.6;
                     //circleCreation(zoneId[1],zoneId[2],map,color,opacity,zoneId[3],zoneId[0]); 
                     //continue;
                  } 
                  if(zoneId[0].indexOf("fill")>=0){
                     var info="Near Zone:"+zoneId[0];
                     pushpin(map,zoneId[1],zoneId[2],info,'no',zoneId[3]);
                     //color='#FFFF00';
                     opacity=0.6;
                      color='green';
                    // circleCreation(zoneId[1],zoneId[2],map,color,opacity,zoneId[3],zoneId[0]);
                    // continue;
                  }    
                  if(zoneId[0].indexOf("other")>=0){
                     var info="Near Zone:"+zoneId[0];
                     pushpin(map,zoneId[1],zoneId[2],info,'no',zoneId[3]);
                     //color='#FFFF00';
                     opacity=0.6;
                      color='green';
                     //circleCreation(zoneId[1],zoneId[2],map,color,opacity,zoneId[3],zoneId[0]);
                  }           
                 circleCreation(zoneId[1],zoneId[2],map,color,opacity,zoneId[3],zoneId[0]);
                 } 
                }
             
               
            
           
         }
         function displayidles(map){
             for(var ll=0;ll<idlelat1.length-1;ll++){
                   
                    pushpin(map,idlelat1[ll],idlelong1[ll],"Idle : "+(ll+1),"yes",100);
 
                }

 
         }
         function replay(){
              
              var center=event[0].split('^');
              var mapOptions = {
                  zoom: 10,
                  center: new google.maps.LatLng(parseFloat(center[2]),parseFloat(center[3]))
               };
              var mapDiv = document.getElementById('mapcontainer');
                map = new google.maps.Map(mapDiv, mapOptions);
               
              var lineSymbol = {
			        path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW,
			        strokeColor: '#2E2EFE' //arrow color
		        };
                drawingManager.setMap(map);    
                displayidles(map);
                 gonesput1();
                var m=0;
             var id=setInterval(function(){ 
                     if(m>event.length-2){ map.setZoom(9);clearTimeout(id);return;}
                     else{
                         var evntdata=event[m].split('^');
                         var evntdata1=event[m+1].split('^');
                         replayPath(evntdata[2],evntdata[3],lineSymbol,map,evntdata1[2],evntdata1[3]);
                         m++;
                    }


                },100);//setInterval funcion closed

        }//end function
      
       	function replayPath(lat,long,lineSymbol,map,lat2,long2){
	  var lineCoordinates = [
	      new google.maps.LatLng(parseFloat(lat),parseFloat(long)),
	      new google.maps.LatLng(parseFloat(lat2),parseFloat(long2))
	  ];
	  var line = new google.maps.Polyline({
	      icons: [{
	          icon: lineSymbol,
	          offset: '100%'
	      }],
	      path: lineCoordinates,
	      geodesic: true,
	      
	      strokeColor: '#4e5eb0',
	      strokeOpacity: 1.0,
	      strokeWeight: 2
	      });
           var pt = new google.maps.LatLng(lat,long);
        //   map.setCenter(pt);
        //    map.setZoom(13);
	    line.setMap(map);

	}
      function showAllZones(){
           allzones="all";
           initialise4();

      }
      function single(){
            allzones="one";
           initialise4();
      }
function reload(){
          
       var fromdate = document.getElementById('fromdate').value;
        var todate = document.getElementById('todate').value;
     // fromdate= datestringToEpochDB(fromdate);
 //         alert(fromdate+"   "+todate);
      // todate=datestringToEpochDB(todate);
   //     alert(fromdate+"   "+todate);
      window.location.href ='tripMap.php?accountID='+accountID+'&vehicleID='+vehicleID+'&fromdate='+fromdate+'&todate='+todate+'&onlyidles=no&request=itself'
}
       </script>
      
   </head>
   <style>
      html { height: 100% } body { height: 100%; margin: 0; padding: 0 } 
      #mapcontainer { height: 100%; width:100% } 
      #wrapper { position: relative; } 
     #logout { position: absolute; background-color: transparent; top:5px; left: 10%; z-index: 99; background: #81BEF7;opacity:1;} 

   </style>
   <body onload="">
       <div id="wrapper">
           <div  id="mapcontainer" class="mapcontainer" >   </div>
       </div>

   <div id="logout" onMouseOver="this.style.opacity=1" onMouseOut="this.style.opacity=1;" class='hello'>
       <table align="center" class="BaseTable" background="#E0E6F8">  
         <thead>  <tr>
            <th><input type="button" id="replay"  onclick="replay()" value="Replay"/></th> <th><input type="button" id="allZone"  onclick="showAllZones()" value="Show All Zones"/></th>
              <th><input type="button" id="one"  onclick="single()" value=""/></th> <th>From Date<input type="text" id="fromdate"   value=""/></th> <th>Todate:<input type="text" id="todate"  value=""/></th> 
 <th><input type="button"  onClick="reload()"  value="submit"/></th>        </tr></thead>
       </table>
       </div>
   </body>
</html>
