function calcqrb(){
	var locqth = document.getElementsByName('MY_LOC')[0].value;
	var locdx = document.getElementsByName('GRIDSQUARE')[0].value;
	var flagloc = false;
	var msg1='';
	var i = 0;
	var z,y,n,h,x,w,f,t,s,v,u,c,d,e,lx,l,p;
	var locdxascii = new Array();
	var locqthascii = new Array();
	var retvalues = '';
	var output = '';
	locqth.toUpperCase();
	if (locdx !=''){
	locdx.toUpperCase();
	if(locdx.length != 6 || locqth.length != 6) {
		msg1 = msg1 +   'Locatorlaenge!!';
	} else {
		for(i=0;i<6;i++){
			
		locdxascii[i] =   locdx.charCodeAt(i);
		locqthascii[i] = locqth.charCodeAt(i);
	}	

	}

	if (locqthascii[0] > 97 && locqthascii[0] < 122) {
		locqthascii[0] = locqthascii[0] - 32; 
		}
	z = locqthascii[0] - 65;
	if (locqthascii[1] > 97 && locqthascii[1] < 122) { 
	locqthascii[1] = locqthascii[1] - 32;
	}
	y = locqthascii[1] - 65;
	n = locqthascii[2] - 48;
	h = locqthascii[3] - 48;
	if (locqthascii[4] > 97 && locqthascii[4] < 122) {
		locqthascii[4] = locqthascii[4] - 32;
	}
	x = locqthascii[4] - 65;
	if (locqthascii[5] > 97 && locqthascii[5] < 122) {
		locqthascii[5] = locqthascii[5] - 32;
	}
	w = locqthascii[5] - 65;

	if (locqthascii[0] < 65 || locqthascii[0] > 90 ||
    	locqthascii[1] < 65 || locqthascii[1] > 90 ||
    	locqthascii[2] < 48 || locqthascii[2] > 57 ||
	    locqthascii[3] < 48 || locqthascii[3] > 57 ||
    	locqthascii[4] < 65 || locqthascii[4] > 90 ||
    	locqthascii[5] < 65 || locqthascii[5] > 90 ) {
    	flagloc = false;
  	}
  	
  	t = z * 20 - 180 + n * 2 + x / 12 + 1;
	t = t * 3.1415926 / 180; 
	s = y * 10 - 90 + h + w / 24 + 1 / 48;
	s = s * 3.1415926 / 180;
	
	if (locdxascii[0] > 97 && locdxascii[0] < 122) {
		locdxascii[0] = locdxascii[0] - 32;
	}
	z = locdxascii[0] - 65;
	if (locdxascii[1] > 97 && locdxascii[1] < 122) {
		locdxascii[1] = locdxascii[1] - 32;
	}
	y = locdxascii[1] - 65;
	n = locdxascii[2] - 48;
	h = locdxascii[3] - 48;
	
	if (locdxascii[4] > 97 && locdxascii[4] < 122) {
		locdxascii[4] = locdxascii[4] - 32;
	}
	x = locdxascii[4] - 65;
	if (locdxascii[5] > 97 && locdxascii[5] < 122) {
		locdxascii[5] = locdxascii[5] - 32;
	}
	w = locdxascii[5] - 65;

	if (locdxascii[0] < 65 || locdxascii[0] > 90 ||
    	locdxascii[1] < 65 || locdxascii[1] > 90 ||
    	locdxascii[2] < 48 || locdxascii[2] > 57 ||
    	locdxascii[3] < 48 || locdxascii[3] > 57 ||
    	locdxascii[4] < 65 || locdxascii[4] > 90 ||
    	locdxascii[5] < 65 || locdxascii[5] > 90 ) {
 
    	flagloc = false; 
  		}
		v = z * 20 - 180 + n * 2 + x / 12 + 1;
		v = v * 3.1415926 / 180;
		u = y * 10 - 90 + h + w / 24 + 1 / 48;
		u = u * 3.1415926 / 180;
	
		c = Math.cos(s) * Math.cos(u) * Math.cos(v - t) + Math.sin(s) * Math.sin(u);
		d = 1 - c * c;
		
		if (Math.cos(u) * Math.sqrt(d) != 0) {
	    e = (Math.sin(s) - Math.sin(u) * c) / (Math.cos(u) * Math.sqrt(d));
		    f = Math.abs(1 - e * e);
		    lx = ((3.1415926 / 2) - (Math.atan(- e / Math.sqrt(f)))) * 180 / 3.1415926;
		   
		    l = parseInt(lx + 0.5);
  		} else { l = 0; }
	
  if ((v - t) < 0) { l = 360 - l; }
	p =  parseInt((Math.atan(Math.sqrt(d) / c) * 6371.33) + .5);
	
	if (!msg1==''){
		
		output = '&nbsp;!&nbsp;';
		document.getElementsByName('GRIDSQUARE')[0].style.backgroundColor = 'red';
		
	} else {
		output = l +'&deg;&frasl;'+p+'km';
		document.getElementsByName('GRIDSQUARE')[0].style.backgroundColor = 'white';
		
	}
	document.getElementsByName('beam')[0].innerHTML = output;	
	}
}
