﻿// JScript File
function SearchBlur(clientId)
{
	var input = document.getElementById(clientId);
    if(input.value == '')  
		input.value = 'поиск по сайту';
		
}

function KeyDown(e, clientId, url, buttonClientId)
{
	var evwntObj = window.event ? event : e;
	if (evwntObj.keyCode == 13) 
	{
		var button = document.getElementById(buttonClientId);
		button.focus();
	}
}
function SearchClick(clientId)
{
	var input = document.getElementById(clientId);
    if(input.value == 'поиск по сайту')  
		input.value = '';
}
function SearchValidate(clientId, url)
{
	var input = document.getElementById(clientId);
	if (input.value == 'поиск по сайту' || input.value.trim().length < 3)
	{
		alert("Сторока для поиска должна быть не менее трех символов");
		return;
	}
	self.location.href = url + "?fs=" + escape(input.value);
}

function SetFindTextBold(clientId, pattern, additionText)
{
	
	var spn = document.getElementById(clientId);
	var result = spn.innerHTML;
			
	var startIndex = 0;
	var endIndex = result.length;
	
	var patternIndex = result.toLowerCase().indexOf(pattern.toLowerCase());
	var emptyIndex = result.indexOf(" ");
	if (emptyIndex < patternIndex && emptyIndex != -1)
		startIndex  = emptyIndex;
	
	patternIndex = 	result.toLowerCase().lastIndexOf(pattern.toLowerCase());
	emptyIndex = result.lastIndexOf(" ");
	if (emptyIndex > patternIndex && emptyIndex != -1)
		endIndex = emptyIndex + 1;
	
	result = result.substring(startIndex, endIndex);
	var regex = new RegExp(pattern, "gi");
		var entry = result.match(regex);
	if (entry == null)
	{
		spn.innerHTML = result == "" ? "" : "..." + result+"..." + additionText;
		return;
	}
		
	var arr = [];
	for(var i = 0; i < entry.length; i++) 
	{
		var re = new RegExp(entry[i], "g");
		result = result.replace(re, "<b>" + entry[i] + "</b>");
	}
	
	
	spn.innerHTML = result == "" ? "" : "..." + result+"..." + additionText;
}

function Bold(pattern)
{
	for(var i = 0; i < idslist.length; i++)
	{
		SetFindTextBold(idslist[i].Id, pattern, idslist[i].Text);
	}	
}

// Инициализируем таблицу перевода
var trans = [];
for (var i = 0x410; i <= 0x44F; i++)
  trans[i] = i - 0x350; // А-Яа-я
trans[0x401] = 0xA8;    // Ё
trans[0x451] = 0xB8;    // ё

// Сохраняем стандартную функцию escape()
var escapeOrig = window.escape;

// Переопределяем функцию escape()
window.escape = function(str)
{
  var ret = [];
  // Составляем массив кодов символов, попутно переводим кириллицу
  for (var i = 0; i < str.length; i++)
  {
    var n = str.charCodeAt(i);
    if (typeof trans[n] != 'undefined')
      n = trans[n];
    if (n <= 0xFF)
      ret.push(n);
  }
  return escapeOrig(String.fromCharCode.apply(null, ret));
}

