j(function(){
	var tmpv = 0;
	var letters = j("#letters > a.letter");
	var branches = j("#branches > div > div");
	var branchLabels = j("#branches > div > div > div > a");
	var all = j("#letters > a.all");
	var search = j("#branchQuery");
	letters.each(function(i){
		var i = i;
		j(this).click(function(){
			clickLetter(i);
			return false;
		});
	});
	all.click(function(){
		search.val("");
		showAll();
	});
	search
		.keyup(function(){
			doSearch();
		})
		.focus();
	function doSearch(){
		var q = search.val().toLowerCase();
		showAll();
		if(!q.length) return false;
		var result = 0;
		all.removeClass("true");
		branches.each(function(i){
			var branch = j("a", this);
			var branchesResult = 0;
			branch.each(function(i){
				var pattern = RegExp(q);
				var str = j(this).text().toLowerCase();
				var str1 = j(this).attr('title');
				if(pattern.test(str) || pattern.test(str1.toLowerCase())){
						branchesResult++;
						if(pattern.test(str1.toLowerCase())){
								var arr = str1.split(':')[1].split(',');
								var arrresult = [];
								if(arr.length) for(inx=0;inx<arr.length;inx++) if(pattern.test(arr[inx].toLowerCase())) arrresult.push(arr[inx]);
								str1 = arrresult.join(', ');
								j(this).parent().find('span.tekst').text(str1);
								j(this).parent().find('span').removeClass('none');
							}
						if(pattern.test(str)){
							j(this).addClass('yellowBG');
						}
//					j(this).parent().fadeTo(1, 1);
				}
				else {
					j(this).parent().addClass('none');
				}
			});
			if(!branchesResult){
				j(this).hide();
				//j(this).fadeTo("fast", .2);
			}
		});
	}
	function clickLetter(i){
		showAll();
		branches.hide();
		all.removeClass("true");
		search.val("");
		j(letters[i]).addClass("true");
		j(branches[i]).show();
	}
	function showAll(){
		all.addClass("true")
		letters.removeClass("true");
		branches.find('div').removeClass('none');
		branches.find('div > span').addClass('none');
		branches.find('a').removeClass('yellowBG');
		branches.show().fadeTo("fast", 1);
		branchLabels.show();
	}
});
