function loc2gps () {
	L = window.document.forms.Loc1.Lo.value.toUpperCase();
	D = 0;
	S = 0;
	if (L.length==6) {
		window.document.forms.Loc1.Lo.value = L;
		var N="ABCDEFGHIJKLMNOPQR";
		B1 = true;
		for (i=0; i<18; i++) {
			if (L.charAt(0) == N.charAt(i)) {
				D = i*20 - 180;
				B1 = false;
			}
	  }
		if (B1) alert("První znak musí být písmeno v rozsahu od A do R");
		B2 = true;
		for (i=0; i<18; i++) {
	    if (L.charAt(1) == N.charAt(i)) {
		  	S = i*10 - 90;
				B2 = false;
			}
	  }
		if (B2) alert("Druhý znak musí být písmeno v rozsahu od A do R");
		B3 = true;
    var N="0123456789";
   	for (i=0; i<10; i++) { 
			if (L.charAt(2) == N.charAt(i)) {
				if (i>9) i = i - 10;
				D = D + i*2;
				B3 = false;
			}
		}
		if (B3) alert("Třetí znak musí být číslice");
		B4 = true;
		for (i=0; i<10; i++) { 
			if (L.charAt(3) == N.charAt(i)) {
				if (i>9) i = i - 10;
				S = S + i;
				B4 = false;
			}
		}
		if (B4) alert("Čtvrtý znak musí být číslice");
		B5 = true;
		var N="ABCDEFGHIJKLMNOPQRSTUVWX";
 	  for (i=0; i<24; i++) { 
			if (L.charAt(4) == N.charAt(i)) {
				D = D + i/12;
				B5 = false;
			}
		}
		if (B5) alert("Pátý znak musí být písmeno v rozsahu od A do X");
		B6 = true;
		for (i=0; i<24; i++) { 
			if (L.charAt(5) == N.charAt(i)) {
				S = S + i/24;
				B6 = false;
			}
		}
		if (B6) alert("Šestý znak musí být písmeno v rozsahu od A do X");
		if (B1 || B2 || B3 || B4 || B5 || B6) {
			alert("Během výpočtu došlo k chybě");
		} else {
			D1 = Math.round(D * 3600);
			S1 = Math.round(S * 3600);
			D2 = D1 + 300;
			S2 = S1 + 150;
			if (D1 < 0) {
				D1 = Math.abs (D1);
				DX1 = "''W";
			} else {
				DX1 = "''E";
			}
			if (D2 < 0) {
				D2 = Math.abs (D2);
				DX2 = "''W";
			} else {
				DX2 = "''E";
			}
			if (S1 < 0) {
				S1 = Math.abs (S1);
				SX1 = "''S";
			} else {
				SX1 = "''N";
			}
			if (S2 < 0) {
				S2 = Math.abs (S2);
				SX2 = "''S";
			} else {
				SX2 = "''N";
			}
			DC1 = parseInt(D1/3600);
			DC2 = parseInt(D2/3600);
			SC1 = parseInt(S1/3600);
			SC2 = parseInt(S2/3600);
			S1 = S1 - SC1 * 3600;
			S2 = S2 - SC2 * 3600;
			DM1 = parseInt((D1 - DC1 * 3600)/60);
			DM2 = parseInt((D2 - DC2 * 3600)/60);
			SM1 = parseInt(S1/60);
			SM2 = parseInt(S2/60);
			SS1 = S1 - SM1 * 60;
			SS2 = S2 - SM2 * 60;
			window.document.forms.Loc1.ZD1.value = DC1 + "°" + DM1 + "'" + 0 + DX1;
			window.document.forms.Loc1.ZD2.value = DC2 + "°" + DM2 + "'" + 0 + DX2;
			window.document.forms.Loc1.ZS1.value = SC1 + "°" + SM1 + "'" + SS1 + SX1;
			window.document.forms.Loc1.ZS2.value = SC2 + "°" + SM2 + "'" + SS2 + SX2;
		}
	} else {
		alert("Lokátor musí být ve tvaru ''AB34CD''");
	}
}



function locg2(LocForm) {
	L = LocForm.Lo.value.toUpperCase();
	D = 0;
	S = 0;
	if (L.length==6) {
		LocForm.Lo.value = L;
		var N="ABCDEFGHIJKLMNOPQR";
		B1 = true;
		for (i=0; i<18; i++) {
			if (L.charAt(0) == N.charAt(i)) {
				D = i*20 - 180;
				B1 = false;
			}
	  }
		if (B1) alert("První znak musí být písmeno v rozsahu od A do R");
		B2 = true;
		for (i=0; i<18; i++) {
	    if (L.charAt(1) == N.charAt(i)) {
		  	S = i*10 - 90;
				B2 = false;
			}
	  }
		if (B2) alert("Druhý znak musí být písmeno v rozsahu od A do R");
		B3 = true;
    var N="0123456789";
   	for (i=0; i<10; i++) { 
			if (L.charAt(2) == N.charAt(i)) {
				if (i>9) i = i - 10;
				D = D + i*2;
				B3 = false;
			}
		}
		if (B3) alert("Třetí znak musí být číslice");
		B4 = true;
		for (i=0; i<10; i++) { 
			if (L.charAt(3) == N.charAt(i)) {
				if (i>9) i = i - 10;
				S = S + i;
				B4 = false;
			}
		}
		if (B4) alert("Čtvrtý znak musí být číslice");
		B5 = true;
		var N="ABCDEFGHIJKLMNOPQRSTUVWX";
 	  for (i=0; i<24; i++) { 
			if (L.charAt(4) == N.charAt(i)) {
				D = D + i/12;
				B5 = false;
			}
		}
		if (B5) alert("Pátý znak musí být písmeno v rozsahu od A do X");
		B6 = true;
		for (i=0; i<24; i++) { 
			if (L.charAt(5) == N.charAt(i)) {
				S = S + i/24;
				B6 = false;
			}
		}
		if (B6) alert("Šestý znak musí být písmeno v rozsahu od A do X");
		if (B1 || B2 || B3 || B4 || B5 || B6) {
			alert("Během výpočtu došlo k chybě");
		} else {
			D1 = Math.round(D * 3600);
			S1 = Math.round(S * 3600);
			D2 = D1 + 300;
			S2 = S1 + 150;
			if (D1 < 0) {
				D1 = Math.abs (D1);
				DX1 = "''W";
			} else {
				DX1 = "''E";
			}
			if (D2 < 0) {
				D2 = Math.abs (D2);
				DX2 = "''W";
			} else {
				DX2 = "''E";
			}
			if (S1 < 0) {
				S1 = Math.abs (S1);
				SX1 = "''S";
			} else {
				SX1 = "''N";
			}
			if (S2 < 0) {
				S2 = Math.abs (S2);
				SX2 = "''S";
			} else {
				SX2 = "''N";
			}
			DC1 = parseInt(D1/3600);
			DC2 = parseInt(D2/3600);
			SC1 = parseInt(S1/3600);
			SC2 = parseInt(S2/3600);
			S1 = S1 - SC1 * 3600;
			S2 = S2 - SC2 * 3600;
			DM1 = parseInt((D1 - DC1 * 3600)/60);
			DM2 = parseInt((D2 - DC2 * 3600)/60);
			SM1 = parseInt(S1/60);
			SM2 = parseInt(S2/60);
			SS1 = S1 - SM1 * 60;
			SS2 = S2 - SM2 * 60;
			LocForm.ZD1.value = DC1 + "°" + DM1 + "'" + 0 + DX1;
			LocForm.ZD2.value = DC2 + "°" + DM2 + "'" + 0 + DX2;
			LocForm.ZS1.value = SC1 + "°" + SM1 + "'" + SS1 + SX1;
			LocForm.ZS2.value = SC2 + "°" + SM2 + "'" + SS2 + SX2;
		}
	} else {
		alert("Lokátor musí být ve tvaru ''AB34CD''");
	}
}


function gps2loc () {
		BL = true;
		D = 0;
		S = 0;
		A = Number(window.document.forms.Loc1.DS.value);
		X = A.toString();
		if (X=="NaN" || X<0 || X>180) {
			alert("V kolonce '' ° '' pro zeměpisnou délku musí být zadáno číslo v rozsahu od 0 do 180!");
			BL = false;
		} else {
			D = parseInt(X) * 3600;
		}
		A = Number(window.document.forms.Loc1.DM.value);
		X = A.toString();
		if (X=="NaN" || X<0 || X>59) {
			alert("V kolonce '' ' '' pro zeměpisnou délku musí být zadáno číslo v rozsahu od 0 do 59!");
			BL = false;
		} else {
			D = D + parseInt(X) * 60;
		}
		A = Number(window.document.forms.Loc1.DV.value);
		X = A.toString();
		if (X=="NaN" || X<0 || X>59) {
			alert("V kolonce '' '' '' pro zeměpisnou délku musí být zadáno číslo v rozsahu od 0 do 59!");
			BL = false;
		} else {
			D = D + parseInt(X);
		}
		A = Number(window.document.forms.Loc1.SS.value);
		X = A.toString();
		if (X=="NaN" || X<0 || X>90) {
			alert("V kolonce '' ° '' pro zeměpisnou šířku musí být zadáno číslo v rozsahu od 0 do 90!");
			BL = false;
		} else {
			S = parseInt(X) * 3600;
		}
		A = Number(window.document.forms.Loc1.SM.value);
		X = A.toString();
		if (X=="NaN" || X<0 || X>59) {
			alert("V kolonce '' ' '' pro zeměpisnou šířku musí být zadáno číslo v rozsahu od 0 do 59!");
			BL = false;
		} else {
			S = S + parseInt(X) * 60;
		}
		A = Number(window.document.forms.Loc1.SV.value);
		X = A.toString();
		if (X=="NaN" || X<0 || X>59) {
			alert("V kolonce '' '' '' pro zeměpisnou šířku musí být zadáno číslo v rozsahu od 0 do 59!");
			BL = false;
		} else {
			S = S + parseInt(X);
		}
		if (BL) {
			D = D * window.document.forms.Loc1.DD.value + 180 * 3600;
			S = S * window.document.forms.Loc1.SD.value + 90 * 3600;
			D1 = parseInt(D/72000);
			S1 = parseInt(S/36000);
			D = D - D1 * 72000;
			S = S - S1 * 36000;
			D2 = parseInt(D/7200);
			S2 = parseInt(S/3600);
			D = D - D2 * 7200;
			S = S - S2 * 3600;
			D3 = parseInt(D/300);
			S3 = parseInt(S/150);
			X = "ABCDEFGHIJKLMNOPQRSTUVWX";
			D1 = X.charAt(D1);
			S1 = X.charAt(S1);
			D3 = X.charAt(D3);
			S3 = X.charAt(S3);
			if (window.document.forms.Loc1.DS.value=="180") {
				if (window.document.forms.Loc1.DD.value=="-1") {
					D1 = "A";
					D2 = "0";
					D3 = "A";
				} else {
					D1 = "R";
					D2 = "9";
					D3 = "X";
				}
			}
			if (window.document.forms.Loc1.SS.value=="90") {
				if (window.document.forms.Loc1.SD.value=="-1") {
					S1 = "A";
					S2 = "0";
					S3 = "A";
				} else {
					S1 = "R";
					S2 = "9";
					S3 = "X";
				}
			}
			window.document.forms.Loc1.Lo.value=D1+S1+D2+S2+D3+S3;
		} else {
			alert("Během výpočtu došlo k chybě");
		}
	}
	
	function fnDelkaCislo(LON0){
		nDelkaCislo=-1;
		if (LON0=="E"){
			nDelkaCislo=+1;
		}
		return nDelkaCislo;
	}
	
	function fnSirkaCislo(LAT0){
		nSirkaCislo=-1;
		if (LAT0=="N"){
			nSirkaCislo=+1;
		}
		return nSirkaCislo;
	}
	
	function gps2loc2 (LAT, LON) {
		BL = true;
		D = 0;
		S = 0;
		
		arrayLAT0 = LAT.split("°");
		arrayLAT1 = arrayLAT0[1].split("'");
		arrayLAT2 = arrayLAT1[1].split('"');
		
		arrayLON0 = LON.split("°");
		arrayLON1 = arrayLON0[1].split("'");
		arrayLON2 = arrayLON1[1].split('"');
		
		//alert (arrayLON2[0] +' - ' + arrayLON2[1]);
		
		A = Number(arrayLON0[0]);
		//alert (arrayLON0[0] +' - ' + Number(arrayLON0[0]));
		
		X = A.toString();
		if (X=="NaN" || X<0 || X>180) {
			alert("V kolonce '' ° '' pro zeměpisnou délku musí být zadáno číslo v rozsahu od 0 do 180!");
			BL = false;
		} else {
			D = parseInt(X) * 3600;
		}
		A = Number(arrayLON1[0]);
		X = A.toString();
		if (X=="NaN" || X<0 || X>60) {
			alert("V kolonce '' ' '' pro zeměpisnou délku musí být zadáno číslo v rozsahu od 0 do 59!");
			BL = false;
		} else {
			D = D + parseInt(X) * 60;
		}
		A = Number(arrayLON2[0]);
		X = A.toString();
		if (X=="NaN" || X<0 || X>60) {
			alert("V kolonce '' '' '' pro zeměpisnou délku musí být zadáno číslo v rozsahu od 0 do 59!");
			BL = false;
		} else {
			D = D + parseInt(X);
		}
		
		
		A = Number(arrayLAT0[0]);
		X = A.toString();
		if (X=="NaN" || X<0 || X>90) {
			alert("V kolonce '' ° '' pro zeměpisnou šířku musí být zadáno číslo v rozsahu od 0 do 90!");
			BL = false;
		} else {
			S = parseInt(X) * 3600;
		}
		A = Number(arrayLAT1[0]);
		X = A.toString();
		if (X=="NaN" || X<0 || X>60) {
			alert("V kolonce '' ' '' pro zeměpisnou šířku musí být zadáno číslo v rozsahu od 0 do 59!");
			BL = false;
		} else {
			S = S + parseInt(X) * 60;
		}
		A = Number(arrayLAT2[0]);
		X = A.toString();
		if (X=="NaN" || X<0 || X>60) {
			alert("V kolonce '' '' '' pro zeměpisnou šířku musí být zadáno číslo v rozsahu od 0 do 59!");
			BL = false;
		} else {
			S = S + parseInt(X);
		}
		
		
		if (BL) {
			nDD=fnDelkaCislo(arrayLON2[1]);
			nSS=fnSirkaCislo(arrayLAT2[1]);
			//alert (nDD +' - '  + arrayLON2[1]+ ' / ' + nSS +' - ' +arrayLAT2[1] );
			D = D * nDD + 180 * 3600;
			S = S *  nSS + 90 * 3600;
			D1 = parseInt(D/72000);
			S1 = parseInt(S/36000);
			D = D - D1 * 72000;
			S = S - S1 * 36000;
			D2 = parseInt(D/7200);
			S2 = parseInt(S/3600);
			D = D - D2 * 7200;
			S = S - S2 * 3600;
			D3 = parseInt(D/300);
			S3 = parseInt(S/150);
			X = "ABCDEFGHIJKLMNOPQRSTUVWX";
			D1 = X.charAt(D1);
			S1 = X.charAt(S1);
			D3 = X.charAt(D3);
			S3 = X.charAt(S3);
			if (arrayLON0[0]=="180") {
				if (nDD=="-1") {
					D1 = "A";
					D2 = "0";
					D3 = "A";
				} else {
					D1 = "R";
					D2 = "9";
					D3 = "X";
				}
			}
			if (arrayLAT0[0]=="90") {
				if (nSS=="-1") {
					S1 = "A";
					S2 = "0";
					S3 = "A";
				} else {
					S1 = "R";
					S2 = "9";
					S3 = "X";
				}
			}
			return D1+S1+D2+S2+D3+S3;
		} else {
			alert("Během výpočtu došlo k chybě");
		}
	}
