     function zone_1(Ni,Nf,Np,flag,Xp,Yp,Xi,Yi,Xb,Yb,Ab,Ai,LaC,LoC,G,nome){
//
// Ni = numero di punti delle icone in Ai    
// Nf = numero di punti della zona
// Np = numero di punti batimetrici in Ab ( es. 520 = icona 5 + icona 2 +icona 0 )
//
   
document.tab_5.msg.value = " Selezionare due punti per averne la distanza in Nm";
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map_3"));
        map.setCenter(new GLatLng(LaC,LoC),G);
document.tab_6.nome.value = nome;       
//**********************************
// 
// Contorno zona
//
//**********************************
color = "#FF0000";
               for (var i = 0; i < Nf+1; i++) {
               
A1 = Xp[i];
B1 = Yp[i];
A2 = Xp[i + 1];               
B2 = Yp[i + 1];
         if((A1 == 0)||(A2 == 0)){color = "#FFFF00"}                  
                  if((A1 > 0)&&(A2 > 0)){
var polyline = new GPolyline([new GLatLng(A1,B1),new GLatLng(A2,B2)], color, 2);
map.addOverlay(polyline);}	
                       }
//**********************************                       
//
// Icone
//
//***********************************
        for (var i = 0; i < Ni+1; i++) {
nome_icona = "icone_iti/"+Ai[i];
var icon = new GIcon();   
icon.image = nome_icona;
icon.iconSize = new GSize(15, 15);
icon.iconAnchor = new GPoint(5,5);
icon.infoWindowAnchor = new GPoint(15,15);
    	A = Xi[i];
		B = Yi[i];
   var point = new GLatLng(A,B);
   map.addOverlay(new GMarker(point,icon));
                              }
                              
//**********************************                       
//
// Batimetriche
//
//***********************************

        for (var i = 0; i < Np+1; i++) {
num = Ab[i].length;
A = Xb[i];
B1 = Yb[i];
        for (var j = 0; j < num; j++){
Ic = Ab[i].charAt(j);
nome_icona = "icone_iti/"+Ic+".bmp";
  var icon = new GIcon();   
  icon.image = nome_icona;
  icon.iconSize = new GSize(7, 11);
  icon.iconAnchor = new GPoint(1,1);
      if(G == 11){B = B1 + 0.0050 * j};
		if(G == 12){B = B1 + 0.0025 * j};
		if(G == 13){B = B1 + 0.0010 * j};
		if(G == 14){B = B1 + 0.0005 * j};
   var point = new GLatLng(A,B);
   map.addOverlay(new GMarker(point,icon));
                              }       
                              }                       
                       
//**************************************
//
//* marker per coordinate e distanze
//
//***************************************  
j = 0;
var asc =new Array();
var ord =new Array();
GEvent.addListener(map, "click", function(marker, point) {
          if (marker){
          
        map.removeOverlay(marker);
                      } else {
j = j + 1;
asc[j] = point.lat().toFixed(4);
ord[j] = point.lng().toFixed(4);
//***************************
zz=prompt("Coordinate ;"+asc[j]+"/"+ord[j]);
//***************************
Ap = asc[j];
Bp = ord[j]; 
MsgT = "";

//***************************
            map.addOverlay(new GMarker(point));
// Format	coordinate	
x = Math.floor(point.lat().toFixed(4));
 if ( x < 10){x=" " + x;} 
y = (point.lat().toFixed(4) - x) * 60;
r = y.toFixed(2);
 if ( r < 10){r=" " + r;}
lat = x + "°" + r + "'N";
x = Math.floor(point.lng().toFixed(4));
 if ( x < 10){x=" " + x;}
y = (point.lng().toFixed(4) - x) * 60;
r = y.toFixed(2);
 if ( r < 10){r=" " + r;}
lon = x + "°" + r + "'E ";
//
// distanza
var Cx = 0;
var Cy = 0;
var d = 0;
rotta = " ";
 if (j==1) {dist = " ";}
       else with(Math){
             Cy = (asc[j] - asc[j-1]) * 60;
			 Cx = (ord[j] - ord[j-1]) * 46.1583;
			 dist = sqrt((Cx*Cx)+(Cy*Cy)).toFixed(1);
			 d = parseFloat(dist);
//Rotta
var Tg = 0;
var alfa = 0;
          Tg = Cy/d;
		    alfa = (Math).acos(Tg);
	        rotta = parseFloat((alfa * 57.2958));
		  if (Cx <0){rotta = 360 - rotta;} 
		  rotta = rotta.toFixed(0);
          if (Tg > 1){rotta = "0";}              
		  if (Tg < -1){rotta = "180";}    
var A1=asc[j];
var B1=ord[j];
var A2=asc[j-1];
var B2=ord[j-1];		 
var polyline = new GPolyline([new GLatLng(A1,B1),new GLatLng(A2,B2)], "#000000", 2);
map.addOverlay(polyline);			 
			 }
   if (j==1){
              var dati = " Punto "+j+" "+lat+" "+lon;
              }  
          else {
             var dati = " Punto "+j+" "+lat+" "+lon+"  Distanza = "+d+" Nm"+"  Rotta "+rotta+"°";
             }
document.tab_5.msg.value = dati;
           }
      if (j==2){j=0};     
           
//           
//* End addListener
//           
		});		                        
//         
//* End Browser
//                       
}
//
//* End Function
//                       
}


