/*
This work is licenced under the Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License. 
To view a copy of this licence, visit http://creativecommons.org/licenses/by-nc-sa/2.5/ or 
send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
*/

function resetSearch(searchId)
{
	searchInput = document.getElementById(searchId + 'Text');
	
	searchInput.value = '';
	
	searchChanged(searchId);
}
	
function searchChanged(searchId)
{
	var searchInput = document.getElementById(searchId + 'Text');
	var currentValue = searchInput.value;
	
	var matched = 0;
	
	var searchListElem = document.getElementById(searchId);
	var searchChildren = searchListElem.childNodes;
	
	for (var i = 0; i < searchChildren.length; i++)
	{
    var searchChildNode = searchChildren[i];

		if (searchChildNode.nodeType != 1)
		{
			continue;
		}

		var elemText = getTextFromElement(searchChildNode);
		
		if (elemText.toUpperCase().match(currentValue.toUpperCase()))
		{
			searchChildNode.style.display = 'block';
			
			matched++;
		}
		else
		{
			searchChildNode.style.display = 'none';
		}
		
		if (matched == 0)
		{
			searchInput.style.backgroundColor = 'red';
		}
		else
		{
			searchInput.style.backgroundColor = 'white';
		}
	}
}
	
function getTextFromElement(elem)
{
	if (elem.nodeType == 3)
	{
		return elem.nodeValue;
	}
	
	var childNodeList = elem.childNodes;
	var textValue = "";
	
	for (var i = 0; i < childNodeList.length; i++)
	{
    var childNode = childNodeList[i];
    
    textValue = textValue + getTextFromElement(childNode);
	}
	
	return textValue;
}
