var libSearchIndex=new Array();

$(function(){
	$('ul.library li').each(function(){
		libSearchIndex.push([this.innerHTML.replace(/(<img[^>]*>)|(<a[^>]*>[^<]*<\/a>)|(<\/*strong>)/gi,'').replace(/(\s+\|*\s*)|(\s*\|*\s+)/g,' '),this]);
	});
	$('input.field_search').bind('keyup',libSearchFilter);
	$('button.button_clear').bind('click',function(){$('ul.library li').show(); $('input.field_search').val('').focus(); return false;});
});
var libSearchSpecials = new RegExp("[.*+?|()\\[\\]{}\\\\]", "g");
function libSearchFilter(){
	var srchValues=this.value.replace(libSearchSpecials,"\\$&").split(/\s+/);
	var srchSets=new Array();
	for (var i=0;i<srchValues.length;i++){
		srchSets.push('('+srchValues.join(')|(')+')');
	}
	var srchString='('+srchSets.join(').*(')+')';
	var subReg=new Array();
	$('ul.library li').hide();
	var srchReg=new RegExp(srchString,"i");
	if(srchValues.length>1){
		for (var i=0;i<srchValues.length;i++){
			subReg.push(new RegExp(srchValues[i],"i"));
		}
	}
	for(var i=0; i<libSearchIndex.length;i++){
		if(libSearchIndex[i][0].match(srchReg)){
			var unique=true;
			if(srchValues.length>1){
				for (var j=0;j<subReg.length;j++){
					if(!libSearchIndex[i][0].match(subReg[j])){
						unique=false;
					}
				}
			}
			if(unique){				
				$(libSearchIndex[i][1]).show();
			}
		}
	}
}
