  dim mode
  mode=1
  sub FarsiKeyDown()
    if (window.event.shiftKey and window.event.altKey) then
      if (mode=0) then
        mode=1
      else
        mode=0
      end if
      window.event.returnValue=FALSE
      exit sub
    end if
    window.event.returnValue=TRUE
  end sub

  ' Keyboard Mapping to Unicode characters
  sub FarsiKeyPress()
    dim key
    key=window.event.keyCode
    if key>127 then
        window.event.returnValue=False

     exit sub
    end if
    if (mode=1) then
      select case chr(key)
        case "H"     : window.event.keyCode =  1570
        case "h"     : window.event.keyCode =  1575
        case "f"     : window.event.keyCode =  1576
        case "F"     : window.event.keyCode =  1617

        case "j"     : window.event.keyCode =  1578
        case "J"     : window.event.keyCode =  1600
        case "e"     : window.event.keyCode =  1579
        case "E"     : window.event.keyCode =  1613
        case "["     : window.event.keyCode =  1580
        case "]"     : window.event.keyCode =  1670
        case "p","P" : window.event.keyCode =  1581
        case "o","O" : window.event.keyCode =  1582
        case "n"     : window.event.keyCode =  1583
        case "N"     : window.event.keyCode =  1571
        case "b"     : window.event.keyCode =  1584
        case "B"     : window.event.keyCode =  1573
        case "v"     : window.event.keyCode =  1585
        case "V"     : window.event.keyCode =  1572

        case "\"     : window.event.keyCode =  1662
        case "s"     : window.event.keyCode =  1587
        case "S"     : window.event.keyCode =  1615
        case "a"     : window.event.keyCode =  1588
        case "A"     : window.event.keyCode =  1614
        case "w"     : window.event.keyCode =  1589
        case "W"     : window.event.keyCode =  1612
        case "q"     : window.event.keyCode =  1590
        case "Q"     : window.event.keyCode =  1611
        case "x"     : window.event.keyCode =  1591
        case "X"     : window.event.keyCode =  1610
        case "c"     : window.event.keyCode =  1586
        case "C"     : window.event.keyCode =  1688
        case "z"     : window.event.keyCode =  1592
        case "Z"     : window.event.keyCode =  1577
        case "u"     : window.event.keyCode =  1593
        case "U"     : window.event.keyCode =  1593
        case "y"     : window.event.keyCode =  1594
        case "Y"     : window.event.keyCode =  1563
        case "t","T" : window.event.keyCode =  1601
        case "r"     : window.event.keyCode =  1602
        case "R"     : window.event.keyCode =  1548
        case ";"     : window.event.keyCode =  1705
        case "'"     : window.event.keyCode =  1711
        case "g"     : window.event.keyCode =  1604
        case "G"     : window.event.keyCode =  1728
        case "l"     : window.event.keyCode =  1605
        case "L"     : window.event.keyCode =  1605
        case "k"     : window.event.keyCode =  1606
        case "K"     : window.event.keyCode =  1606
        case ","     : window.event.keyCode =  1608
        case "i","I" : window.event.keyCode =  1607
        case "d"     : window.event.keyCode =  1740
        case "D"     : window.event.keyCode =  1616
        case "m"     : window.event.keyCode =  1574
        case "M"     : window.event.keyCode =  1569
        case "?"     : window.event.keyCode =  1567
        case "0"     : window.event.keyCode =  1776
        case "1"     : window.event.keyCode =  1777
        case "2"     : window.event.keyCode =  1778
        case "3"     : window.event.keyCode =  1779
        case "4"     : window.event.keyCode =  1780
        case "5"     : window.event.keyCode =  1781
        case "6"     : window.event.keyCode =  1782
        case "7"     : window.event.keyCode =  1783
        case "8"     : window.event.keyCode =  1784
        case "9"     : window.event.keyCode =  1785

      end select
    end if
    window.event.returnValue=TRUE
  end sub

  sub FarsiNumKeyPress()
    dim key
    key=window.event.keyCode
    if key>127 then
        window.event.returnValue=False
     exit sub
    end if
        if (mode=1) then
      select case chr(key)
        case "0"     : window.event.keyCode =  key
        case "1"     : window.event.keyCode =  key
        case "2"     : window.event.keyCode =  key
        case "3"     : window.event.keyCode =  key
        case "4"     : window.event.keyCode =  key
        case "5"     : window.event.keyCode =  key
        case "6"     : window.event.keyCode =  key
        case "7"     : window.event.keyCode =  key
        case "8"     : window.event.keyCode =  key
        case "9"     : window.event.keyCode =  key
        ' case "."     : window.event.keyCode =  46
        case else    : window.event.keyCode =  0
      end select
    end if
    window.event.returnValue=TRUE
  end sub

  sub FarsiTelKeyPress()
    dim key
    key=window.event.keyCode
    if key>127 then
        window.event.returnValue=False
     exit sub
    end if
        if (mode=1) then
      select case chr(key)
        case "0"     : window.event.keyCode =  key
        case "1"     : window.event.keyCode =  key
        case "2"     : window.event.keyCode =  key
        case "3"     : window.event.keyCode =  key
        case "4"     : window.event.keyCode =  key
        case "5"     : window.event.keyCode =  key
        case "6"     : window.event.keyCode =  key
        case "7"     : window.event.keyCode =  key
        case "8"     : window.event.keyCode =  key
        case "9"     : window.event.keyCode =  key
        'case "-"     : window.event.keyCode =  key
        case else    : window.event.keyCode =  0
      end select
    end if
    window.event.returnValue=TRUE
  end sub
  
  

