function MatchIt(object, val, nextfield, charx, mozChar, allow) {
	var TestVar = object;
	var EntryBox = document.getElementById(val).name;	
	var TestVal = eval("document.myform." + val + ".value");
	
	var tmpo = "letters_original_" + TestVar;
	var tmpc = "letters_current_" + TestVar;
	
	var currentid = document.getElementById(tmpc).name;
	
	// get values of current and original column
	var original = eval("document.myform." + tmpo + ".value");
	var current = eval("document.myform." + tmpc + ".value");	
	
	// create temporary working string with no spaces/line breaks for original column allowed values
	var originalstring = original.replace(/\r\n|\r|\n/g, '');

	// create array of all boxes in this column
	var boxes = mycols[TestVar].split("|"); 
	
	// walk through every EntryBox value in this column and throw into an array
	var z = 0;
	var valuesarray = new Array();
	for (x in boxes) {
		if(boxes[x]) {
			var tmpvalue = eval("document.myform." + boxes[x] + ".value");
			if(tmpvalue) {
				valuesarray[z] = tmpvalue;
				z = z+1;
			}			
		}		
	}
	
	// walk through every column value and check against original allowed letters
	var currentstring = originalstring.toLowerCase();
	for (x in valuesarray) {
		var checkAllowed;
		checkAllowed = originalstring.toLowerCase().indexOf(valuesarray[x].toLowerCase());
		if(checkAllowed<0) {
			alert("The " + valuesarray[x] + " character is not allowed in this column.");	
			document.myform[EntryBox].value = "";
			return false;
		} else {
			var lastcurrentstring = currentstring;
			currentstring = currentstring.replace(valuesarray[x].toLowerCase(),"");
			if(lastcurrentstring==currentstring) {
				alert("The " + valuesarray[x] + " character has already been used up in this column.  Please remove it from another box in this column before trying to reuse it here.");
				document.myform[EntryBox].value = "";
				return false;				
			}
		}
	}

	var currentstringarray = currentstring.split("");
		
	var finalcurrent = "";
	for (x in currentstringarray) {
		if(currentstringarray[x]) {
			finalcurrent = finalcurrent + "\n" + currentstringarray[x];
		}		
	}
	
	finalcurrent = finalcurrent.replace(" ","") + "<br>";
//	document.myform[currentid].value = finalcurrent.toUpperCase();
	var lcvar = 'display_current_' + TestVar;
	document.getElementById(lcvar).innerHTML = finalcurrent.toUpperCase();

	
	if(mozChar) { k = mozChar; } else { k = charx; }
	if (k > 40 && k < 123) { // tab key not pressed
		eval('document.myform.' + nextfield + '.focus()');
	}
}

function ClearIt(object, charx, mozChar) {
	if(mozChar) { k = mozChar; } else { k = charx; }
	if (k > 40 && k < 123) { // tab key not pressed
		document.myform[object].value = "";
	}		
}


function getElementByValue(ElementCollection, Value)
{
      var i, Element;

      for (i = 0 ; i < ElementCollection.length ; i++)
      {
            if (ElementCollection[i].value == Value)
            {
                  return ElementCollection[i];
            }
      }

      return ElementCollection;
}