window.name = 'local';

// a funcao show_map foi substituida pelo programa geoloc_reload
function show_map(lat1,long1)
{ 
   if (long1 != null)
   {  var errof = '';
      if ((document.database.dist.value != "") && (document.database.direcao.value != ""))
      {
         var dist = document.database.dist.value;
         var direcao = document.database.direcao.value;
         var simb = "2";
         var cor  = "185";
         var erro = 0;
         var cos45 = 0.7071068;
         var cos22 = 0.9238795;
         var sin22 = 0.3826834;

	 //para calcular diagonais
         var dist2 = (dist * cos45);

         var graulong = 111.3165;    //fixo em km 
         var distgraulong = (dist/graulong);
         var dist2graulong = (dist2/graulong);

         //para latitude precisa usar uma equacao de 8o grau  
         var pa = 109796.66;
         var pb = -0.0000000000014527115; 
         var pc = 9.9528914;
         var pd = 0.00000000000000093799766; 
         var pe = -0.002214; 
         var pf = -0.0000000000000000001101514; 
         var pg = 0.00000043958707; 
         var graulat =
((pa+(pb*lat1)+(pc*(Math.pow(lat1,2)))+(pd*(Math.pow(lat1,3)))+(pe*(Math.pow(lat1,4)))+(pf*(Math.pow(lat1,5)))+(pg*(Math.pow(lat1,6)))) /1000);   // em km      
         var distgraulat = (dist/graulat);
         var dist2graulat = (dist2/graulat);

         if (direcao == "N")
         { lat2  = (( parseFloat(lat1)+distgraulat ).toString().substring(0,8));
           long2 = long1;
         }
         else if (direcao == "S")
         { lat2  = (( parseFloat(lat1)-distgraulat ).toString().substring(0,8));
           long2 = long1;
         }
         else if (direcao == "L")
         { lat2  = lat1;
           long2 = (( parseFloat(long1)+distgraulong ).toString().substring(0,8));
         }
         else if (direcao == "O")
         { lat2  = lat1;
           long2 = (( parseFloat(long1)-distgraulong ).toString().substring(0,8));
         }
         else if (direcao == "NE")
         { lat2  = (( parseFloat(lat1)+dist2graulat ).toString().substring(0,8));
           long2 = (( parseFloat(long1)+dist2graulong ).toString().substring(0,8));
         }
         else if (direcao == "NO")
         { lat2  = (( parseFloat(lat1)+dist2graulat ).toString().substring(0,8));
           long2 = (( parseFloat(long1)-dist2graulong ).toString().substring(0,8));
         }
         else if (direcao == "SE")
         { lat2  = (( parseFloat(lat1)-dist2graulat ).toString().substring(0,8));
           long2 = (( parseFloat(long1)+dist2graulong ).toString().substring(0,8));
         }
         else if (direcao == "SO")
         { lat2  = (( parseFloat(lat1)-dist2graulat ).toString().substring(0,8));
           long2 = (( parseFloat(long1)-dist2graulong ).toString().substring(0,8));
         }

         // calculando o erro da direcao ( e=sqrt( (x'-x)2 + (y'-y)2 ) 
         // onde x=d.cos(O), y=d.sin(O), x'=d.cos(O') and y'=d.sin(O')
         erro = Math.sqrt( Math.pow((dist*cos22)-(dist*cos45),2) + Math.pow((dist*sin22)-(dist*cos45),2) ); 
         errof = erro.toString().substring(0,5); 
         //alert(erro);

         if (navigator.appName.indexOf('Microsoft') != -1)
         { window.clipboardData.setData('Text',long2+' '+lat2+' '+errof) }

         document.database.long2.value = long2; 
         document.database.lat2.value  = lat2; 
         document.database.erro.value = errof; 
         document.database.act.value  = 'dis';  
         // alert("long[" + long2 + "] lat[" + lat2 + "] err[" + errof + "]");
      }
      else
      {  document.database.act.value = 'pto'; 
         document.database.erro.value  = ''; 
         if (navigator.appName.indexOf('Microsoft') != -1)
         { window.clipboardData.setData('Text',long1+' '+lat1) }
      }
      document.database.target = 'mapcria'; 

      document.database.lat1.value  = lat1; 
      document.database.long1.value = long1; 
   }
   else
   { document.database.target = 'local'; 
     document.database.act.value = ''; 
   }

// alert("action [" + document.database.action + "]");
// alert("target [" + document.database.target + "]");

   document.database.submit();
}

// municipio
function municipio(mun,grp)
{ var url = "http://www.cria.org.br/municipio2?busca=cod&param=-1&grupo="+grp+"&texto="+mun;

  munic = window.open(url, "munic", "toolbar=no," +
   "location=no," + "directories=no," + "status=no," +
   "menubar=no," + "scrollbars=yes," + "resizeable=yes," +
   "height=650," + "width=430" + "dependent=no");
  if (munic != null)
  { if(munic.opener == null) { munic.opener=self } }
}

function municipio_nome(mun)
{ var url = "http://www.cria.org.br/municipio2?texto="+mun+"&param=-1";

  spwin = window.open(url, "spwin", "toolbar=no," +
   "location=no," + "directories=no," + "status=no," +
   "menubar=no," + "scrollbars=yes," + "resizeable=yes," +
   "height=650," + "width=430" + "dependent=no");
  if (spwin != null)
  { if(spwin.opener == null) { spwin.opener=self } }
}

function openw(lang)
{
  w =  window.open("about_geoloc?setlang="+lang, "about_geoloc","toolbar=no," +
          "location=no," + "directories=no," + "status=no," +
          "menubar=no," + "scrollbars=yes," + "resizable=no," +
	  "height=600," + "width=760," + "dependent=no");
  w.opener=self;
}

function mysubmit()
{  document.database.readfile.value = true;
   document.database.submit();
}


