﻿/* 
   Menuvanje na kodna tastatura od latinicna
   vo Kirilicna Windows-1251
*/
C=new Array(
  'А','Б','В','Г','Д','Е','З','Ѕ','И','Ј','К','Л','Љ','М','Н','Њ','О',
  'П','Р','С','Т','У','Ф','Х','Ц','Џ',
  'а','б','в','г','д','е','з','ѕ','и','ј','к','л','љ','м','н','њ','о',
  'п','р','с','т','у','ф','х','ц','џ')

L=new Array(
  'A','B','V','G','D','E','Z','Y','I','J','K','L','Q','M','N','W','O',
  'P','R','S','T','U','F','H','C','X',
  'a','b','v','g','d','e','z','y','i','j','k','l','q','m','n','w','o',
  'p','r','s','t','u','f','h','c','x')

//------------------------------------

 Broevi=new Array('1','2','3','4','5','6','7','8','9','0')
 pomosniBroevi=new Array()
	
 for (q=0;q<59;q++) {
 pomosniBroevi[Broevi[q]]=Broevi[q]
 }


Cyr=new Array()
	
    for (q=0;q<59;q++) {
    Cyr[L[q]]=C[q]
    }

Cyr[unescape('%5C')]=('ж')
Cyr[unescape('%7C')]=('Ж') 
Cyr[unescape('%5D')]=('ѓ')
Cyr[unescape('%7D')]=('Ѓ')   
Cyr[unescape('%27')]=('ќ')
Cyr[unescape('%22')]=('Ќ')
Cyr[unescape('%3B')]=('ч')
Cyr[unescape('%3A')]=('Ч') 
Cyr[unescape('%5B')]=('ш')
Cyr[unescape('%7B')]=('Ш')
//Cyr[unescape('%62')]=unescape('%E1')


    function toCyr(lat) {
     cyr=''
     for (q=0;q<lat.length;q++)
        {
            ch=lat.charAt(q)
            chL=ch.toLowerCase()
            nxt=lat.charAt(q+1).toLowerCase()
    
            if (Cyr[ch]) cyr+=Cyr[ch]
            else cyr+=ch
        } 
        return cyr
    }
    
      
    function toNum(lat) {
        broj='';ch=''
    for (q=0;q<lat.length;q++) 
        {
        ch=lat.charAt(q)
        if (pomosniBroevi[ch]) broj+=pomosniBroevi[ch]
        else broj+=''
        } 
        return broj
    }
    
    
    function getKeyCode(e)
    {

        if( !e ) {
            //if the browser did not pass the event information to the
            //function, we will have to obtain it from the event register
            if( window.event ) {
                //Internet Explorer
                e = window.event;
            } else {
                //total failure, we have no way of referencing the event
                return;
              }
        }
        
        if( typeof( e.keyCode ) == 'number'  ) {
            //DOM
            return e.keyCode;
        } else if( typeof( e.which ) == 'number' ) {
            //NS 4 compatible
            return e.keyCode;
        } else if( typeof( e.charCode ) == 'number'  ) {
            //also NS 6+, Mozilla 0.9+
            return e.keyCode;
        } else {
                //total failure, we have no way of obtaining the key code
                return 
         }
    }
    
    
    function sredi_cyr(e,koj)
    {
          var browserName=navigator.appName;  
          if (browserName=="Microsoft Internet Explorer")
          {
                var range = document.selection.createRange();
                var bookmark = range.getBookmark();
                caret_pos = bookmark.charCodeAt(2) - 2;//var caret_pos = bookmark.charCodeAt(2) - 2;
          }     
          else
          {      
                caret_pos = koj.selectionEnd;
          }     
            
          if (getKeyCode(e) != 9)
          {
                pocetno='';
                celosno=koj.value;
        
                for (q=0; q < caret_pos ; q++) 
                {   
                    pocetno+=celosno.charAt(q);
                }
                pocetno=toCyr(pocetno);
                    
                for (q=caret_pos ; q<=koj.value.length-1 ; q++) 
                {   
                    pocetno+=celosno.charAt(q);
                }
                
                koj.value=pocetno;
                setCursorPosition(koj,caret_pos,caret_pos);
          }
    }
    
    
    function sredi_num(e,koj)
    {
        var browserName=navigator.appName;  
        if (browserName=="Microsoft Internet Explorer")
        {
              var range = document.selection.createRange();
              var bookmark = range.getBookmark();
              caret_pos = bookmark.charCodeAt(2) - 2;
        }     
        else
        {      
              caret_pos = koj.selectionEnd;
        }     
        
        if (getKeyCode(e) != 9)
        {
              pocetno='';
              celosno=koj.value;
        
              for (q=0; q < caret_pos ; q++) 
              {   
                  pocetno+=celosno.charAt(q);
              }
              pocetno=toNum(pocetno);
                    
              for (q=caret_pos ; q<=koj.value.length-1 ; q++) 
              {   
                  pocetno+=celosno.charAt(q);
              }
                
              koj.value=pocetno;
              setCursorPosition(koj,caret_pos,caret_pos);
        }
    }
    
    
    function setCursorPosition(oInput,oStart,oEnd) 
    {
        oInput.focus();
        if( oInput.setSelectionRange ) 
        {
            oInput.setSelectionRange(oStart,oEnd);
        } 
        else if( oInput.createTextRange ) 
        {
            var range = oInput.createTextRange();
            range.collapse(true);
            range.moveEnd('character',oEnd);
            range.moveStart('character',oStart);
            range.select();
        }
    }