﻿if (!window.UrlTransliter) {
	window.UrlTransliter = function() {	}

	UrlTransliter.prototype.getLetterMap = function() {
		var letterMap = new Array();

		letterMap["ьи"] = "ji";
		letterMap["ъи"] = "ji";

		letterMap["а"] = "a";
		letterMap["б"] = "b";
		letterMap["в"] = "v";
		letterMap["г"] = "g";
		letterMap["д"] = "d";
		letterMap["е"] = "e";
		letterMap["ё"] = "e";
		letterMap["ж"] = "zh";
		letterMap["з"] = "z";
		letterMap["и"] = "i";
		letterMap["й"] = "j";
		letterMap["к"] = "k";
		letterMap["л"] = "l";
		letterMap["м"] = "m";
		letterMap["н"] = "n";
		letterMap["о"] = "o";
		letterMap["п"] = "p";
		letterMap["р"] = "r";
		letterMap["с"] = "s";
		letterMap["т"] = "t";
		letterMap["у"] = "u";
		letterMap["ф"] = "f";
		letterMap["х"] = "h";
		letterMap["ц"] = "c";
		letterMap["ч"] = "ch";
		letterMap["ш"] = "sh";
		letterMap["щ"] = "sch";
		letterMap["ъ"] = "";
		letterMap["ы"] = "y";
		letterMap["ь"] = "";
		letterMap["э"] = "e";
		letterMap["ю"] = "ju";
		letterMap["я"] = "ja";
		letterMap[" "] = "-";
		letterMap[","] = "-";
		letterMap["."] = "-";
		letterMap["!"] = "-";
		letterMap["?"] = "-";
		letterMap[";"] = "-";

		return letterMap;
	};
	UrlTransliter.prototype.toLatin = function(cyrillic) {
		var letterMap = this.getLetterMap();

		cyrillic = cyrillic.toLowerCase();
		for (var letter in letterMap)
			while (cyrillic.indexOf(letter, 0) != -1)
			cyrillic = cyrillic.replace(letter, letterMap[letter]);

		return cyrillic;

	};

	UrlTransliter.prototype.bind = function(jQueryTextBoxFrom, jQueryTextBoxTo) {
		$(jQueryTextBoxFrom).keyup(function() {
			var transliter = new UrlTransliter();
			$(jQueryTextBoxTo).val(transliter.toLatin($(jQueryTextBoxFrom).val()));
		});
	};
}
