var UK_MAP_WIDTH = 330;
var UK_MAP_HEIGHT = 397;

var UK_X_ZERO = -20163;
var UK_Y_ZERO = 102679;
var UK_X_PIXEL_TO_GRID = 266.901597;
var UK_Y_PIXEL_TO_GRID = -266.901597;
var UK_PIXEL_TO_MILE = 1.668195638;

function Gridm100ToMiles(g)
{
	return (g / 100) * 0.625;
}

function map_location()
{
	var ge = document.FormSearch.txtE.value;
	var gn = document.FormSearch.txtN.value;
	
	if (ge == "" || gn == "")
		return;

	offsetY = GetElementPosY(document.getElementById("Map"));
	offsetX = GetElementPosX(document.getElementById("Map"));
	
	var x = Math.round(Gridm100ToMiles(ge - UK_X_ZERO) / UK_PIXEL_TO_MILE) + offsetX;
	var y = Math.round(Gridm100ToMiles(UK_Y_ZERO - gn) / UK_PIXEL_TO_MILE) + offsetY;
	map_point(x, y);
}

function map_point(x, y)
{
	var radius = document.FormSearch.cboRange.value;
	if (radius == "") 
		radius = 0;
	var p = radius / UK_PIXEL_TO_MILE;

	map.clear();
	map.setColor("#ffffff");
	map.drawLine(x, offsetY, x, UK_MAP_HEIGHT + offsetY - 1);
	map.drawLine(offsetX, y, UK_MAP_WIDTH + offsetX - 1, y);
//	map.setColor("#e1ebec");
//	map.drawLine(x, y - p/2, x, y - 40);
//	map.drawLine(x, y + p/2, x, y + 40);
//	map.drawLine(x - p/2, y, x - 40, y);
//	map.drawLine(x + p/2, y, x + 40, y);
	map.setColor("#FF0000");
	map.drawEllipse(x-p, y-p, 2*p, 2*p);
	//map.drawEllipse(x-2, y-2, 2*2, 2*2);
	//map.setColor("#008800");	
	//map.fillEllipse(x-1, y-1, 2*2, 2*2);
	map.paint();
	document.getElementById('btnFindMap').disabled = 0;
//	document.getElementById('cboType2').disabled = 0;
	document.getElementById('cboRange').disabled = 0;
}

function clearmap()
{
	map.clear();
	document.FormSearch.txtE.value = '';
	document.FormSearch.txtN.value = '';
}

function selectmap(e)
{
	if (e.button == 2)
		return;

	offsetY = GetElementPosY(document.getElementById("Map"));
	offsetX = GetElementPosX(document.getElementById("Map"));
	
	var diff = (navigator.appName == "Microsoft Internet Explorer")? 2 : 0;
	var x = e.clientX + docBody.scrollLeft - diff;
	var y = e.clientY + docBody.scrollTop - diff;

	var ge = Math.round(UK_X_ZERO + ((x - offsetX) * UK_X_PIXEL_TO_GRID));
	var gn = Math.round(UK_Y_ZERO + ((y - offsetY) * UK_Y_PIXEL_TO_GRID));
	document.FormSearch.txtE.value = ge;
	document.FormSearch.txtN.value = gn;
	map_point(x, y);
}

var offsetY;
var offsetX;
var docBody = document.getElementById("SearchBody");
var map = new jsGraphics("theMap");

function GetElementPosX(obj)
{
	var X = 0;
	for(;obj != null; obj = obj.offsetParent)
	{
		if (obj.offsetLeft != null)
			X += obj.offsetLeft;
	}
	return X;
}

function GetElementPosY(obj)
{
	var Y = 0;
	for(;obj != null; obj = obj.offsetParent)
	{
		if (obj.offsetTop != null)
			Y += obj.offsetTop;
	}
	return Y;
}