var cOffLang={sName:'OFF',sDName:'OFF',sMap:'',sRData:''};var cCyrPho={sName:'Bulgarian Cyrillc Phonetic',sDName:'PHO',sMap:'aAbBwWgGdDeEvVzZiIjJkKlLmMnNoOpPrRsStTuUfFhHcC`~[{]}yYxX\\|qQ',sRData:'àÀáÁâÂãÃäÄåÅæÆçÇèÈéÉêÊëËìÌíÍîÎïÏðÐñÑòÒóÓôÔõÕöÖ÷×øØùÙúÚüÜþÞÿß'};var cCyrBds={sName:'Bulgarian Cyrillc',sDName:'BDS',sMap:'dD/?lLhHoOeEgGpPrRxXuU.>;:kKfFmM,<iIjJwWbBnN[{\'"tTyYcCaAzZsSvVqQ]}@#$^&*()_+`~',sRData:'àÀáÁâÂãÃäÄåÅæÆçÇèÈéÉêÊëËìÌíÍîÎïÏðÐñÑòÒóÓôÔõÕöÖ÷×øØùÙúÚüÜþÞÿßýÝûÛ;§?+"=:/-#|V)('};var cTranslator={bDisabled:false,bUseKeySwitch:true,sGlobalLangID:cOffLang.sDName,bHelp:true,hCurrentLang:'',hCurrentInput:null,aLanguages:[],onSwitchLang:null};cTranslator.registerLang=function(hLang){this.aLanguages[hLang.sDName]=hLang};cTranslator.registerLang(cOffLang);cTranslator.registerLang(cCyrPho);cTranslator.registerLang(cCyrBds);cTranslator.switchLang=function(sLang){if(typeof(this.aLanguages[sLang])!='undefined'){this.hCurrentLang=this.aLanguages[sLang]}if(this.onSwitchLang!=null){this.onSwitchLang(sLang)}cTranslator.displayLanguage(sLang);if(typeof CookieManager!='undefined'){CookieManager.setCookie('molang',sLang,1)}};cTranslator.getNextLang=function(sCL){var bFound=false;for(sKey in this.aLanguages){if(typeof this.aLanguages[sKey]=='function'){continue}if(bFound){return sKey}if(sCL==sKey){bFound=true}}if(bFound){return cOffLang.sDName}};cTranslator.toggleLang=function(hElement){var sNewLangID='';if(typeof hElement=='undefined'||hElement===null){sNewLangID=this.getNextLang(this.sGlobalLangID);this.sGlobalLangID=sNewLangID}else{var sLangAtt=hElement.getAttribute('MOLANG');if(sLangAtt!='DEFAULT'){sNewLangID=this.getNextLang(sLangAtt);hElement.setAttribute('MOLANG',sNewLangID)}else{sNewLangID=this.getNextLang(this.sGlobalLangID);this.sGlobalLangID=sNewLangID}hElement.focus()}this.switchLang(sNewLangID)};cTranslator.initLanguage=function(hEvent){if(hEvent===null){hEvent=window.event}hElement=(hEvent.srcElement)?hEvent.srcElement:hEvent.originalTarget;cTranslator.hCurrentInput=hElement;var sLangAtt=hElement.getAttribute('MOLANG');if(sLangAtt!='DEFAULT'){cTranslator.switchLang(hElement.getAttribute('MOLANG'))}else{cTranslator.switchLang(cTranslator.sGlobalLangID)}return true};cTranslator.processKey=function(hEvent){if(hEvent===null){hEvent=window.event}hElement=(hEvent.srcElement)?hEvent.srcElement:hEvent.originalTarget;var nCode=hEvent.keyCode?hEvent.keyCode:hEvent.charCode?hEvent.charCode:hEvent.which?hEvent.which:0;if((hEvent.charCode!=null)&&(hEvent.charCode!=nCode)){return}var sCode=String.fromCharCode(nCode);var nPos=cTranslator.hCurrentLang.sMap.indexOf(sCode);var hE;if(nPos>=0&&!hEvent.ctrlKey&&!hEvent.altKey){sRep=cTranslator.hCurrentLang.sRData.charAt(nPos);if(window.event){window.event.keyCode=sRep.charCodeAt()}else{if(this.ffVer<1.5&&this.firefoxVersion!='1.0.6'&&this.firefoxVersion!='1.0.5'){if(window.KeyEvent){hE=document.createEvent('KeyEvents');hE.initKeyEvent('keypress',true,true,document.defaultView,hEvent.ctrlKey,hEvent.altKey,hEvent.shiftKey,hEvent.metaKey,1,sRep.charCodeAt())}else{hE=document.createEvent('UIEvents');hE.initUIEvent('keypress',true,true,document.defaultView,1);hE.keyCode=sRep.charCodeAt()}hE.preventDefault();hElement.dispatchEvent(hE)}else{var nScrollTop=hElement.scrollTop;var nScrollLeft=hElement.scrollLeft;var nScrollWidth=hElement.scrollWidth;var nScrollHeight=hElement.scrollHeight;var nSelectionStart=hElement.selectionStart;cTranslator.replaceSelection(hElement,sRep);var nW=hElement.scrollWidth-nScrollWidth;var nH=hElement.scrollHeight-nScrollHeight;if(hElement.scrollTop==0){hElement.scrollTop=nScrollTop+nH}hElement.selectionStart=nSelectionStart+sRep.length;hElement.selectionEnd=nSelectionStart+sRep.length}}if(hEvent.preventDefault){hEvent.preventDefault()}}hEvent.returnValue=true;return true};cTranslator.install=function(hElement){if(document.attachEvent){hElement.attachEvent('onfocus',cTranslator.initLanguage);hElement.attachEvent('onkeypress',cTranslator.processKey)}else if(document.addEventListener){hElement.addEventListener('focus',cTranslator.initLanguage,false);hElement.addEventListener('keypress',cTranslator.processKey,false)}};cTranslator.init=function(){var nI=0;var sLangAtt;var aInputs=document.getElementsByTagName('INPUT');for(nI=0;nI<aInputs.length;nI++){if(aInputs[nI].type.toLowerCase()=='text'){sLangAtt=aInputs[nI].getAttribute('MOLANG');if(sLangAtt){cTranslator.install(aInputs[nI])}}}var aTextAreas=document.getElementsByTagName('TEXTAREA');for(nI=0;nI<aTextAreas.length;nI++){sLangAtt=aTextAreas[nI].getAttribute('MOLANG');if(sLangAtt){cTranslator.install(aTextAreas[nI])}}var sLang=null;if(typeof CookieManager!='undefined'){sLang=CookieManager.getCookie('molang')}if((sLang!=null)&&(sLang!='undefined')){this.sGlobalLangID=sLang}this.switchLang(this.sGlobalLangID);var hFireFoxVer=new RegExp('Firefox/([0-9\.]*)','ig');hFireFoxVer.exec(navigator.userAgent);this.firefoxVersion=RegExp.$1;this.ffVer=parseFloat(RegExp.$1)};cTranslator.setSelectionRange=function(input,selectionStart,selectionEnd){if(input.setSelectionRange){input.focus();input.setSelectionRange(selectionStart,selectionEnd)}else if(input.createTextRange){var range=input.createTextRange();range.collapse(true);range.moveEnd('character',selectionEnd);range.moveStart('character',selectionStart);range.select()}};cTranslator.replaceSelection=function(input,replaceString){if(input.setSelectionRange){var selectionStart=input.selectionStart;var selectionEnd=input.selectionEnd;input.value=[input.value.substring(0,selectionStart),replaceString,input.value.substring(selectionEnd)].join('');cTranslator.setSelectionRange(input,selectionStart+replaceString.length,selectionStart+replaceString.length)}};cTranslator.onKeySwitch=function(hEvent){if(cTranslator.bUseKeySwitch){if(hEvent===null){hEvent=window.event}var nCode=hEvent.keyCode?hEvent.keyCode:hEvent.charCode?hEvent.charCode:hEvent.which?hEvent.which:0;if(hEvent.shiftKey&&hEvent.ctrlKey&&(nCode==16||nCode==17)){cTranslator.hKeySwitchTimeout=setTimeout(function(){cTranslator.doKeySwitch()},500)}else{clearTimeout(cTranslator.hKeySwitchTimeout)}}};cTranslator.onKeyUp=function(hEvent){if(hEvent===null){hEvent=window.event}var nCode=hEvent.keyCode?hEvent.keyCode:hEvent.charCode?hEvent.charCode:hEvent.which?hEvent.which:0;if(nCode==0){clearTimeout(cTranslator.hKeySwitchTimeout)}};cTranslator.doKeySwitch=function(){cTranslator.toggleLang(cTranslator.hCurrentInput)};cTranslator.onLoad=function(){if(cTranslator.bDisabled){cTranslator.displayLanguage('...','disabled');return}cTranslator.onSwitchLang=cTranslator.displayLanguage;cTranslator.init();var hLink=document.getElementById('langLink');if(hLink!=null){hLink.onclick=function(){cTranslator.toggleLang(cTranslator.hCurrentInput);return false};var hHelpLink=document.getElementById('langHelpLink');if(hHelpLink!=null){hHelpLink.href="http://momche.net/redir.php?page=inputlocalehelp"}}if(document.attachEvent){document.attachEvent('onkeydown',cTranslator.onKeySwitch);document.attachEvent('onkeyup',cTranslator.onKeyUp)}else if(document.addEventListener){document.addEventListener('keydown',cTranslator.onKeySwitch,false);document.addEventListener('keyup',cTranslator.onKeyUp,false)}};cTranslator.displayLanguage=function(sLang,sTitle){var hLink=document.getElementById('langLink');if(typeof sTitle=='undefined'){sTitle=''}if(hLink!=null){hLink.innerHTML=sLang;hLink.title=sTitle}};if(window.attachEvent){window.attachEvent('onload',cTranslator.onLoad)}else if(window.addEventListener){window.addEventListener('load',cTranslator.onLoad,false)}