function mapResult()
{
	this.type			= "address";

	this.centerX		= 0;
	this.centerY		= 0;
	this.mapName		= "";
	this.coordValue		= "";

	this.placeName		= "";
	this.omc		= 0;
	this.placeID		= 0;

	this.streetName		= "";
	this.streetID		= 0;

	this.stopList		= new Array();
	this.stopNameList	= new Array();
}

var odvMap = null;
var mapUsage = "";
var odvMapResult  = new mapResult();

function setMapInput()
{
	if (odvMapResult && mapUsage)
	{
		// only for "use center"
		if (odvMapResult.type == "coord")
		{
			var obj = document.forms[0].elements['placeInfo_'+mapUsage]; 
			if (obj) obj.value = odvMapResult.omc + ":" + odvMapResult.placeID;

			obj = document.forms[0].elements['placeState_'+mapUsage];
			if (obj) obj.value = "list";
			
			obj = document.forms[0].elements['type_'+mapUsage+'_helper'];
			if (obj) obj.value = "coord";
			
			obj = document.forms[0].elements['nameInfo_'+mapUsage];
			if (obj)
			{
				if (odvMapResult.coordValue.length > 0)
				{
					obj.value = odvMapResult.coordValue
				}
				else
				{
					// for now this is not used
					obj.value = odvMapResult.centerX + ":" + odvMapResult.centerY + ":" + odvMapResult.mapName + ":" + odvMapResult.streetName;
				}
			}

			obj = document.forms[0].elements['nameState_'+mapUsage];
			if (obj) obj.value = "notidentified";

			document.forms[0].execInst.value='verifyOnly';
			document.forms[0].submit();
		}
		// outdated
		else if (odvMapResult.type == "poi")
		{
			obj = document.forms[0].elements['type_'+mapUsage+'_helper'];
			if (obj) obj.value = "poi";
			
			var obj = document.forms[0].elements['nameInfo_'+mapUsage];
			if (obj) obj.value = odvMapResult.stopList[0];
			var obj = document.forms[0].elements['nameState_'+mapUsage];
			if (obj) obj.value = "empty";

			document.forms[0].execInst.value='verifyOnly';
			document.forms[0].submit();
		}
		// outdated
		else if (odvMapResult.type == "stop")
		{
			alert("result=stop");
			var obj = document.forms[0].elements('placeInfo_'+mapUsage);
			if (obj) obj.value = "";

			var obj = document.forms[0].elements('place_'+mapUsage);
			if (obj) obj.value= odvMapResult.placeName;
			
			obj = document.forms[0].elements('type_'+mapUsage);
			if (obj) obj.value = "stop";			
			obj = document.forms[0].elements('type_'+mapUsage+'_helper');
			if (obj) obj.value = "stopID";
			
			var obj = document.forms[0].elements('nameInfo_'+mapUsage);
			if (obj) obj.value = "stopID:" + odvMapResult.stopList[0];

			var obj = document.forms[0].elements('name_'+mapUsage);
			if (obj) obj.value = odvMapResult.stopNameList[0];

			document.forms[0].execInst.value='verifyOnly';
			document.forms[0].submit();
		}
		else if (odvMapResult.type == "stopID")
		{
			obj = document.forms[0].elements['type_'+mapUsage+'_helper'];
			if (obj) obj.value = "stopID";
			var obj = document.forms[0].elements['nameState_'+mapUsage];
			if (obj) obj.value = "empty";
			
			// old, later overwritten
			var obj = document.forms[0].elements['nameInfo_'+mapUsage];
			if (obj) obj.value = odvMapResult.stopList[0];

			// new
			var obj = document.forms[0].elements['nameInfo_'+mapUsage];
			if (obj) 
			{
				obj.value = "";
				for (var iStop = 0; iStop < odvMapResult.stopList.length; iStop++)
				{
					if (iStop > 0) obj.value += ":";
					obj.value += odvMapResult.stopList[iStop];
				}
			}

			document.forms[0].execInst.value='verifyOnly';
			document.forms[0].submit();
		}
		else if (odvMapResult.type == "poiID")
		{
			obj = document.forms[0].elements['type_'+mapUsage+'_helper'];
			if (obj) obj.value = "poiID";
			
			var obj = document.forms[0].elements['placeInfo_'+mapUsage];
			if (obj) obj.value = odvMapResult.omc + ":" + odvMapResult.placeID;
			var obj = document.forms[0].elements['nameInfo_'+mapUsage];
			if (obj) obj.value = odvMapResult.stopList[0];
			var obj = document.forms[0].elements['nameState_'+mapUsage];
			if (obj) obj.value = "empty";

			document.forms[0].execInst.value='verifyOnly';
			document.forms[0].submit();
		}
	}
}


////////////////////////////////////////////////////////////////////////////////////////
// line selection functions
function LineSelectionSetSelection(select)
{
	var obj = document.forms[0].dmLineSelection;

	if (obj)
	{
		for (var iIndex = 0; iIndex < obj.length; iIndex++)
			obj[iIndex].checked=select;
	}
}
function utfEncode(inputstring) {
	outcode = "";
	for (a=0; a<inputstring.length; a++) {
		c = inputstring.charCodeAt(a);
		// Code characters to UTF-8 and append to outcode
//if (a > 20) alert(c);
		if (c < 0x80){
			outcode += inputstring.charAt(a); 
		} else if (c < 0x800){
// 			outcode += hexEncode((0xC0 | c>>6));
//			outcode += hexEncode((0x80 | c & 0x3F));
			outcode += String.fromCharCode((0xC0 | c>>6), (0x80 | c & 0x3F))
		} else if (c < 0x10000) {
			outcode += hexEncode((0xE0 | c>>12));
			outcode += hexEncode((0x80 | c>>6 & 0x3F));
			outcode += hexEncode((0x80 | c & 0x3F)); 
		} else if (c < 0x200000) {
			outcode += hexEncode((0xF0 | c>>18));
			outcode += hexEncode((0x80 | c>>12 & 0x3F));
			outcode += hexEncode((0x80 | c>>6 & 0x3F));
			outcode += hexEncode((0x80 | c & 0x3F));
		}
	}
	// Return result
	alert(outcode);
	return outcode;
}
function hexEncode(invalue) {
	return "%" + invalue.toString(16);
}
function hexEncode2(invalue) {
	return invalue.toString(16);
}
