// *********** POLYGON *******************************************************//

  function initialize(poly) {

    var myLatLng = new google.maps.LatLng(45.43, 9.1);
    var myOptions = {
      zoom: 5,
      center: myLatLng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };

   
    var map = new google.maps.Map(document.getElementById("map_canvas_body"),
        myOptions);
    
 // Costruzione del poligono
     var puntiPoligono = poly;

    var poligono = new google.maps.Polygon({
      paths: puntiPoligono,
      strokeColor: "#FF0000",
      strokeOpacity: 0.8,
      strokeWeight: 2,
      fillColor: "#FF0000",
      fillOpacity: 0.35
    });

   poligono.setMap(map);


    var latlngbounds = new google.maps.LatLngBounds( );
    for ( var i = 0; i < puntiPoligono.length; i++ ) {
      latlngbounds.extend( puntiPoligono[ i ] );
    }
    map.fitBounds( latlngbounds );

  }

function maps_api(zona_id){
    if(zona_id!='' && zona_id!=null){
            var url = '../ajax/ajax_polygon.php';
            var params = 'zona_id='+zona_id;
            $.ajax( {url:url, type:'POST', data:params, success: function( r ) {
            if (r!=''){
                var poly = new Array();
                var app = r.split("|");
                for (var i=0; i<app.length; i++){
                    var app2 = app[i].split(",");
                    poly.push(new google.maps.LatLng(app2[0],app2[1]));
                }
                $('#map_canvas_padre').show();
                initialize(poly);
                location.href='#map_canvas_padre';
            }

        }})
    }
}

// *********** POLYGON *******************************************************//



// *********** PUNTO *********************************************************//

  function initialize_p(lat,lon) {

    var parliament= new google.maps.LatLng(lat, lon);
    
    var mapOptions = {
      zoom: 13,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
      center: parliament
    };

    var map = new google.maps.Map(document.getElementById("map_canvas_body"),
            mapOptions);

    var marker = new google.maps.Marker({
      map:map,
      draggable:true,
      animation: google.maps.Animation.DROP,
      position: parliament
    });
    google.maps.event.addListener(marker, 'click', toggleBounce);
  }

  function toggleBounce() {

    if (marker.getAnimation() != null) {
      marker.setAnimation(null);
    } else {
      marker.setAnimation(google.maps.Animation.BOUNCE);
    }
  }

 function maps_api_p(lat,lon){
    if(lat!='' && lon!=''){
        $('#map_canvas_padre').show();
        initialize_p(lat,lon);
        location.href='#map_canvas_padre';
    }
}

function maps_api_d(device_id){
    if(device_id!='' && device_id!=null){
            var url = '../ajax/ajax_device.php';
            var params = 'device_id='+device_id;
            $.ajax( {url:url, type:'POST', data:params, success: function( r ) {
            if (r!=''){
                var app = r.split("|");
                maps_api_p(app[0],app[1]);
            }

        }})
    }
}

// *********** PUNTO *********************************************************//

// *********** PUNTI *********************************************************//

function initialize_ps(markers) {
    if (markers.length>0){

        var mapOptions = {
            center: new google.maps.LatLng(markers[0][0],markers[0][1]),
            zoom: 14,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        var google_map = new google.maps.Map(document.getElementById("map_canvas_body"),
            mapOptions);

        var info_window = new google.maps.InfoWindow({
            content: 'loading'
        });

        var bounds =new google.maps.LatLngBounds();

        var t = [];
        var x = [];
        var y = [];
        var h = [];
        var im = [];
        var size = [];
        var poligono = [];

        for (i=0; i<markers.length; i++){
            t.push('Location '+(i+1));
            x.push(markers[i][0]);
            y.push(markers[i][1]);
            h.push(markers[i][2]);
            var s=markers[i][4]; s=s.split(','); 
            im.push(
            		new google.maps.MarkerImage(markers[i][3], 
            		new google.maps.Size(parseInt(s[0]),parseInt(s[1])),
           	        new google.maps.Point(0,0),
            	    new google.maps.Point(0, 20)));
        }
        if(markers[0].length > 5){
        	poligono = markers[0][5].split(',');
        	var polig = [];
        	var ind = 0;
        	while(ind < poligono.length){
        		var poligtmp = poligono[ind].split(" ");
        		polig[ind] = new google.maps.LatLng(poligtmp[1], poligtmp[0]);
        		ind++;
        	}
    	    var flightPath = new google.maps.Polyline({
        		path: polig,
        	    strokeColor: "#FF0000",
        	    strokeOpacity: 1.0,
        	    strokeWeight: 2
        	});
            flightPath.setMap(google_map);
        }

        

        var i = 0;
        for ( item in t ) {
            var m = new google.maps.Marker({
                map:       google_map,
                animation: google.maps.Animation.DROP,
                title:     t[i],
                position:  new google.maps.LatLng(x[i],y[i]),
                html:      h[i],
                icon:      im[i]
            });

            google.maps.event.addListener(m, 'click', function() {
                info_window.setContent(this.html);
                info_window.open(google_map, this);
            });
            i++;
            bounds.extend(m.position);
        }

        google_map.fitBounds(bounds);
    }
}


function maps_visual(r){
    var puntis = new Array();
    var app = r.split("||");
    for (var i=0; i<app.length; i++){
        var app2 = app[i].split("|");

//      puntis.push(new Array(app2[0],app2[1],app2[2],app2[3],app2[4]));
      puntis.push(app2);
    }
    $('#map_canvas_padre').show();
    initialize_ps(puntis);
    location.href='#map_canvas_padre';
}

 function maps_api_ps(zona_id, giorno, origin, origin_id){
    if( zona_id!='' && zona_id!=null && giorno!='' && giorno!=null && origin!='' && origin!=null && origin_id!='' && origin_id!=null ){
            var url = '../../../ajax/ajax_punti.php';
            var params = 'zona_id='+zona_id+'&giorno='+giorno+'&origin='+origin+'&origin_id='+origin_id;
            $.ajax( {url:url, type:'POST', data:params, success: function( r ) {
            if (r!='') maps_visual(r);
        }})
    }
 }

 function maps_api_ps2(device_id, giorno, origin, origin_id){
    if( device_id!='' && device_id!=null && giorno!='' && giorno!=null && origin!='' && origin!=null && origin_id!='' && origin_id!=null ){
            var url = '../../../ajax/ajax_punti.php';
            var params = 'device_id='+device_id+'&giorno='+giorno+'&origin='+origin+'&origin_id='+origin_id;
            $.ajax( {url:url, type:'POST', data:params, success: function( r ) {
            if (r!='') maps_visual(r);
        }})
    }
 }

 function maps_api_ps3(device_id, zona_id, giorno, origin, origin_id){
    if( device_id!='' && device_id!=null && zona_id!='' && zona_id!=null && giorno!='' && giorno!=null && origin!='' && origin!=null && origin_id!='' && origin_id!=null ){
            var url = '../../../ajax/ajax_punti.php';
            var params = 'device_id='+device_id+'&zona_id='+zona_id+'&giorno='+giorno+'&origin='+origin+'&origin_id='+origin_id;
            $.ajax( {url:url, type:'POST', data:params, success: function( r ) {
            if (r!='') maps_visual(r);
        }})
    }
 }

// *********** PUNTI *********************************************************//


// *********** DETTAGLI ******************************************************//
 function dettagli_ps(zona_id, giorno, origin, origin_id){
    if( zona_id!='' && zona_id!=null && giorno!='' && giorno!=null && origin!='' && origin!=null && origin_id!='' && origin_id!=null ){
            var url = '../../../ajax/ajax_dettagli.php';
            var params = 'zona_id='+zona_id+'&giorno='+giorno+'&origin='+origin+'&origin_id='+origin_id;
            $.ajax( {url:url, type:'POST', data:params, success: function( r ) {
            if (r!='')
            {
                $('#map_canvas_padre').show();
                $('#map_canvas_body').html(r);
                location.href='#map_canvas_padre';
            }
        }})
    }
 }

  function dettagli_ps_riga(i, zona_id, device, time_stamp, origin, origin_id){

    if ($("#dettaglio_riga_"+i).css('display') == 'block') $('#dettaglio_riga_'+i).css('display','none');
    else
    {
          if(i!='' && i!=null && zona_id!='' && zona_id!=null && device!='' && device!=null && time_stamp!='' && time_stamp!=null && origin!='' && origin!=null && origin_id!='' && origin_id!=null ){
                var url = '../../../ajax/ajax_dettagli.php';
                var params = 'dett_i='+i+'&zona_id='+zona_id+'&device='+device+'&time_stamp='+time_stamp+'&origin='+origin+'&origin_id='+origin_id;
                $.ajax( {url:url, type:'POST', data:params, success: function( r ) {
                if (r!='')
                {
                    $('#dettaglio_riga_'+i).html(r);
                    $('#dettaglio_riga_'+i).css('display','block')
                    location.href='#dettaglio_riga_p_'+i;
                }
            }})
        }
    }
    
 }

// *********** DETTAGLI ******************************************************//



// *********** KML ***********************************************************//

function download_kml(zona_id){
    if(zona_id!=''){
         $('#secretIFrame').attr("src","../ajax/kml_create.php?zona_id="+zona_id);
    }
}

function download_kml_ps(zona_id, giorno, origin, origin_id){
     if(zona_id!='' && zona_id!=null && giorno!='' && giorno!=null && origin!='' && origin!=null && origin_id!='' && origin_id!=null){
         $('#secretIFrame').attr("src","../../../ajax/kml_create_ps.php?zona_id="+zona_id+'&giorno='+giorno+'&origin='+origin+'&origin_id='+origin_id);
    }
}

function download_kml_ps2(device_id, giorno, origin, origin_id){
     if(device_id!='' && device_id!=null && giorno!='' && giorno!=null && origin!='' && origin!=null && origin_id!='' && origin_id!=null){
         $('#secretIFrame').attr("src","../../../ajax/kml_create_ps.php?device_id="+device_id+'&giorno='+giorno+'&origin='+origin+'&origin_id='+origin_id);
    }
}

function download_kml_ps3(device_id, zona_id, giorno, origin, origin_id){
     if(zona_id!='' && zona_id!=null && device_id!='' && device_id!=null && giorno!='' && giorno!=null && origin!='' && origin!=null && origin_id!='' && origin_id!=null){
         $('#secretIFrame').attr("src","../../../ajax/kml_create_ps.php?zona_id="+zona_id+"&device_id="+device_id+'&giorno='+giorno+'&origin='+origin+'&origin_id='+origin_id);
    }
}

// *********** KML ***********************************************************//


// *********** OSSERVATORI ***************************************************//
$(document).ready(function()
{
	$(".sf_admin_list_td_mappa").click(function(){
		var parent = $(this).parent();
		var hijo = parent.children(".sf_admin_list_td_id");
		var id = hijo.children("a").html();
		maps_api(id);
	});

      $(".sf_admin_list_td_mappa_ultimo_punto").click(function(){
		var parent = $(this).parent();
		var hijo = parent.children(".sf_admin_list_td_id");
		var id = hijo.children("a").html();
		maps_api_d(id);
	});

     $(".sf_admin_list_td_kml").click(function(){
		var parent = $(this).parent();
		var hijo = parent.children(".sf_admin_list_td_id");
		var id = hijo.children("a").html();
		download_kml(id);
	});
});
// *********** OSSERVATORI ***************************************************//
