// Инициализируем таблицу перевода
var trans = [];
for (var i = 0x410; i <= 0x44F; i++){
  trans[i] = i - 0x350; // А-Яа-я
}
trans[0x401] = 0xA8;    // Ё
trans[0x451] = 0xB8;    // ё

function escapeCyr(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[ret.length] = n;
		}
	}

	var str = '';
	if(!String.fromCharCode.apply){ // IE5
		for (var j=0; j<ret.length; j++){
			str += escape(String.fromCharCode(ret[j]));
		}
	} else { // Common browsers
		str = escape(String.fromCharCode.apply(null, ret));
	}
	return str;
}
