
var searchDivs = [];
var searchTimeout = null;
var searchString = '';
var searchElement = null;

function initSearch()
{
	var aLis = $('NewsBrief').getElementsByTagName('li');
	
	searchElement = new SearchPlaceholder($('searchField'),'ïîèñê');
	
	for (var i = 0; i < aLis.length; i++)
	{
		if (aLis[i].id && aLis[i].id.indexOf('newsLi_') == 0)
		{
			
			var cId = aLis[i].id.replace(/^newsLi_/,'');
			if ($('searchContent_' + cId))
			{
				searchDivs[searchDivs.length] = new SearchableDiv($('searchContent_' + cId));
			}
		}
	}
}

function startSearch(oNode)
{
	searchString = oNode.value.replace(/[^à-ÿ¸¨a-z0-9_\-!,;]/i,'');
	searchTimeout = setTimeout(doSearch,200);
}

function doSearch()
{
	var bFlag = false;
	for (var i = 0; i < searchDivs.length; i++)
	{
		searchDivs[i].Check(searchString);
		if (searchDivs[i].bFound)
			bFlag = true;
	}
		for (var i = 0; i < searchDivs.length; i++)
		{
			if (searchDivs[i].bFound)
			{
				addClass(searchDivs[i].oLi,'found');
				removeClass(searchDivs[i].oLi,'notfound');
			}
			else
			{
				removeClass(searchDivs[i].oLi,'found');
				addClass(searchDivs[i].oLi,'notfound');
			}
		}

	searchTimeout = clearTimeout(searchTimeout);
}






function SearchableDiv(oNode)
{
	this.oNode = oNode;
	this.iId = oNode.id.replace(/^searchContent_/,'');
	this.oLi = $('newsLi_' + this.iId);
	this.sData = oNode.innerHTML;
	this.bFound = true;
}

SearchableDiv.prototype.Contains = function (str)
{
	if (str.length == 0) 
	{
		return (this.bFound = true);
	}
	var re = new RegExp(str,'i');
	return this.sData.match(re);
}

SearchableDiv.prototype.Check = function (str)
{
	this.bFound = this.Contains(str);
}


function SearchPlaceholder (oNode,initVal)
{
	this.oNode = oNode;
	this.initVal = initVal;
	
	this.Restore();
	
	var thisCopy = this;
	addEvent(this.oNode, 'blur', function (){return thisCopy.Restore();});
	addEvent(this.oNode, 'focus', function (){return thisCopy.Activate();});
	
}
SearchPlaceholder.prototype.Restore = function ()
{
	if (this.oNode.value == '')
	{
		this.oNode.value = this.initVal;
	}
	this.oNode.style.color = '#999999';
}
SearchPlaceholder.prototype.Activate = function ()
{
	this.oNode.style.color = '#000000';
	if (this.oNode.value == this.initVal)
	{
		this.oNode.value = '';
	}
}