// check if the entry is part of the list of synonyms and return its match

function search4(word){
	var pattern = new RegExp(word,"i");	
	var str = this.toString();
	var result =  str.search(pattern);
	if(result == -1) { return false; }
	else { 
		var foundMatch = str.substr(result, word.length); 
		return foundMatch; 
	}
}

Array.prototype.found = search4;

//find the entry in the list of synonyms and return its preferred equivalent
// term = String 
// synList = Array (of synonyms)

function translateSynonym(phrase,synList) {
	if (synList.found(phrase)) {
		var entry = synList.found(phrase);
		for (i=0; i<synList.length; i++){
			if (synList[i].indexOf(entry) != -1) { var translation = synList[i][0]; }
			}
	return translation;
	}
	else { return false; }
}		
     
	 
// reformat synonyms into a simple array	 
function make1DArray()	{
	var flatArray = [];
	for (i=0; i<this.length; i++){
		for (j=0; j<this[i].length; j++){ 
			flatArray.push(this[i][j]);
		}
	}
	return flatArray;//alert("flatArray has " + flatArray.length + " elements");
} 

Array.prototype.flatten = make1DArray;
