var map;
var lokator = "JN99GU";
var L0 = lokator.charAt(0);
var L1 = lokator.charAt(1);
var L2 = lokator.charAt(2);
var L3 = lokator.charAt(3);
var L4 = lokator.charAt(4);
var L5 = lokator.charAt(5); 
var coordinates = new Array();

  function isChar (znak) { if (znak<"A" || znak>"Z") { return false; } return true; }
  function isNum  (znak) { if (znak<"0" || znak>"9") { return false; } return true; }


  function TestLokatoru (lokator) {
    lokator = lokator.toUpperCase();
    if (lokator.length != 6) {
      alert ("Lokátor má šest znaků. Prosím opravte chybu!");
      return false;
      }

    if (!isChar(L0) || !isChar(L1) ||
        !isNum (L2) || !isNum (L2) ||
        !isChar(L4) || !isChar(L5) ) {
      alert ("Lokátor je nesprávně zadaný!");
      return false;
      }
    }
  function PrevedNaZnaky (t) {
    var i=0;
    var csstr="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    for (i=0; i<csstr.length; i++) { if (t==csstr.charAt(i)) {return i+65;} }
    var csstr="0123456789";
    for (i=0; i<csstr.length; i++) { if (t==csstr.charAt(i)) {return i+48;} }
    alert ("Lokátor nesmí obsahovat tento znak: "+t);
    return 0;
    }
  function zdelka (lokator) {
    var L0 = PrevedNaZnaky(lokator.charAt(0));
    var L2 = PrevedNaZnaky(lokator.charAt(2));
    var L4 = PrevedNaZnaky(lokator.charAt(4));
    var LQ = ((L0-74)*20+(L2-48)*2+(L4-65)/12.0)/180*Math.PI;
    return LQ;
    }

  function zdelka1 (lokator) {
    var L0 = PrevedNaZnaky(lokator.charAt(0));
    var L2 = PrevedNaZnaky(lokator.charAt(2));
    var L4 = PrevedNaZnaky(lokator.charAt(4));
    var LQ = (L0-74)*20+(L2-48)*2+(L4-65)*0.083333333333333333330+0.08333333333333333333/2;
    return LQ;
    }

  function zsirka (lokator) {
    var L1 = PrevedNaZnaky(lokator.charAt(1));
    var L3 = PrevedNaZnaky(lokator.charAt(3));
    var L5 = PrevedNaZnaky(lokator.charAt(5));
    var FQ = ((L1-74)*10+(L3-48)+(L5-65)/24.0)/180*Math.PI;
    return FQ;
    }

function zsirka1 (lokator) {
    var L1 = PrevedNaZnaky(lokator.charAt(1));
    var L3 = PrevedNaZnaky(lokator.charAt(3));
    var L5 = PrevedNaZnaky(lokator.charAt(5));
    var FQ = (L1-74)*10+(L3-48)+(L5-65)*0.04166666666666666667+0.04166666666666666667/2;
    return FQ;
    }

  function vypocet (form) {
    var TLQ = 0;
    var TFQ = 0;
    var SLQ = 0;
    var SFQ = 0;
    var smer= 0;
    var ss = 0;
    var x1 = 0;
    var x2 = 0;
    var delka = 0;
    var sirka = 0;


    form.lokators.value = form.lokators.value.toUpperCase();
    if (TestLokatoru (form.lokators.value)) {
        form.lokators.focus();
        return false;
        }

    form.lokatort.value = form.lokatort.value.toUpperCase();
    if (TestLokatoru (form.lokatort.value)) {
        form.lokators.focus();
        return false;
        }
    SLQ = zdelka (form.lokators.value);
    SFQ = zsirka (form.lokators.value);
    TLQ = zdelka (form.lokatort.value);
    TFQ = zsirka (form.lokatort.value);

with (Math) {
      ss = (SLQ-TLQ);
      x1 = cos(SFQ) * tan(TFQ);
      x2 = sin(SFQ) * cos(ss);
      if (x1>x2) smer=180-(atan(sin(ss)/(x1-x2))+PI)*180/PI;
      if (x1<x2) smer=180-(atan(sin(ss)/(x1-x2)))*180/PI;
      while (smer>=360) { smer-=360;}
      while (smer<0)  { smer+=360;}
      smer = round(smer);
      $azimut = form.azimut.value = smer;
      ss = acos(cos(ss) * cos(SFQ) * cos(TFQ) + sin(SFQ) * sin(TFQ));
      form.vzdalenost.value = 6378*sqrt(1+(1-2.*cos(ss)));
      form.vzdalenost.value = round(form.vzdalenost.value);
      }


map.clearOverlays();
map.addOverlay(new GMarker(new GLatLng(zsirka1(form.lokators.value),zdelka1(form.lokators.value))));
map.addOverlay(new GMarker(new GLatLng(zsirka1(form.lokatort.value),zdelka1(form.lokatort.value))));
coordinates.length = 0;
coordinates[ coordinates.length ] = [ zsirka1(form.lokators.value), zdelka1(form.lokators.value) ];
coordinates[ coordinates.length ] = [ zsirka1(form.lokatort.value), zdelka1(form.lokatort.value) ];
//form.vzdalenost.value = coordinates;
topoDrawGraph( document.getElementById("graph"), coordinates );

//return true;
    }



function initialize() 
{
      if (GBrowserIsCompatible()) 
	{
        map = new GMap2(document.getElementById("map_canvas"));
	map.addMapType(G_PHYSICAL_MAP);
	map.setCenter(new GLatLng(49, 17), 6,G_PHYSICAL_MAP);
	map.addControl(new GLargeMapControl());
      	map.addControl(new GMapTypeControl());
      	map.addControl(new GScaleControl());
      	map.addControl(new GOverviewMapControl());
      	map.enableDoubleClickZoom();
	}
}
