var mode = 1;

function SetMode()
{
    if (window.event.keyCode == 123)
    {
        if (mode == 0)
            mode = 1;
        else
            mode = 0;

        window.event.returnValue = false;
        return;
    }
    window.event.returnValue = true;
}


/// Keyboard Mapping to Unicode characters
function ChangeToFarsi()
{
    var code = window.event.keyCode;
    var key = String.fromCharCode(code);

    if (code > 127)
        return;
    if (mode == 1)
    {
        switch (key)
                {
            case 'H'     : window.event.keyCode = 1570; break;
            case 'h'     : window.event.keyCode = 1575; break;
            case 'f'     :
            case 'F'     : window.event.keyCode = 1576; break;
            case '`'     : window.event.keyCode = 1662; break;
            case 'j'     :
            case 'J'     : window.event.keyCode = 1578; break;
            case 'e'     :
            case 'E'     : window.event.keyCode = 1579; break;
            case '['     : window.event.keyCode = 1580; break;
            case ']'     : window.event.keyCode = 1670; break;
            case 'p'     :
            case 'P'     : window.event.keyCode = 1581; break;
            case 'o'     :
            case 'O'     : window.event.keyCode = 1582; break;
            case 'n'     :
            case 'N'     : window.event.keyCode = 1583; break;
            case 'b'     :
            case 'B'     : window.event.keyCode = 1584; break;
            case 'v'     :
            case 'V'     : window.event.keyCode = 1585; break;
            case 'c'     :
            case 'C'     : window.event.keyCode = 1586; break;
            case '\\'    : window.event.keyCode = 1688; break;
            case 's'     :
            case 'S'     : window.event.keyCode = 1587; break;
            case 'a'     :
            case 'A'     : window.event.keyCode = 1588; break;
            case 'w'     :
            case 'W'     : window.event.keyCode = 1589; break;
            case 'q'     :
            case 'Q'     : window.event.keyCode = 1590; break;
            case 'x'     :
            case 'X'     : window.event.keyCode = 1591; break;
            case 'z'     :
            case 'Z'     : window.event.keyCode = 1592; break;
            case 'u'     :
            case 'U'     : window.event.keyCode = 1593; break;
            case 'y'     :
            case 'Y'     : window.event.keyCode = 1594; break;
            case 't'     : window.event.keyCode = 1601; break;
            case 'T'     : window.event.keyCode = 1548; break;
            case 'r'     :
            case 'R'     : window.event.keyCode = 1602; break;
            case ';'     : window.event.keyCode = 1603; break;
            case '\''    : window.event.keyCode = 1711; break;
            case 'g'     :
            case 'G'     : window.event.keyCode = 1604; break;
            case 'l'     : window.event.keyCode = 1605; break;
            case 'k'     : window.event.keyCode = 1606; break;
            case 'K'     : window.event.keyCode = 0161; break;
            case ','     : window.event.keyCode = 1608; break;
            case 'i'     :
            case 'I'     : window.event.keyCode = 1607; break;
            case 'd'     : window.event.keyCode = 1610; break;
            case 'D'     : window.event.keyCode = 1609; break;
            case 'm'     :
            case 'M'     : window.event.keyCode = 1574; break;
            case 'L'     : window.event.keyCode = 1605; break;
            case '.'     : window.event.keyCode = 1632; break;
            case '0'     : window.event.keyCode = 1776; break;
            case '1'     : window.event.keyCode = 1777; break;
            case '2'     : window.event.keyCode = 1778; break;
            case '3'     : window.event.keyCode = 1779; break;
            case '4'     : window.event.keyCode = 1780; break;
            case '5'     : window.event.keyCode = 1781; break;
            case '6'     : window.event.keyCode = 1782; break;
            case '7'     : window.event.keyCode = 1783; break;
            case '8'     : window.event.keyCode = 1784; break;
            case '9'     : window.event.keyCode = 1785; break;
        }
    }

    window.event.returnValue = true;
}
