var lang = 1; // 1: Farsi, 0: English
// Farsi keyboard map based on ISIRI-2901
var farsikey = [
   0x0020, 0x0021, 0x061B, 0x066B, 0x00A4, 0x066A, 0x060C, 0x06AF,
   0x0029, 0x0028, 0x002A, 0x002B, 0x0648, 0x002D, 0x002E, 0x002F,
   0x06F0, 0x06F1, 0x06F2, 0x06F3, 0x06F4, 0x06F5, 0x06F6, 0x06F7,
   0x06F8, 0x06F9, 0x003A, 0x06A9, 0x003E, 0x003D, 0x003C, 0x061F,
   0x066C, 0x0624, 0x200C, 0x0698, 0x064A, 0x064D, 0x0625, 0x0623,
   0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x004E, 0x005D,
   0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0056, 0x064C,
   0x0058, 0x0650, 0x0643, 0x062C, 0x005C, 0x0686, 0x00D7, 0x0640,
   0x200D, 0x0634, 0x0630, 0x0632, 0x064A, 0x062B, 0x0628, 0x0644,
   0x0627, 0x0647, 0x062A, 0x0646, 0x0645, 0x067E, 0x062F, 0x062E,
   0x062D, 0x0636, 0x0642, 0x0633, 0x0641, 0x0639, 0x0631, 0x0635,
   0x0637, 0x063A, 0x0638, 0x007D, 0x007C, 0x007B, 0x007E
];
function FKeyDown() {
alert(window.event.keyCode)
  if (window.event.ctrlKey ) {

    if (lang == 0) { lang = 1; }
    else { lang = 0; }
    return false;
  }
  return true;
}
function fkey() {

   key = window.event.keyCode;
   fnkey = -1;
   if ((key >= 112) && (key <= 123)) fnkey = key-111;
   if (window.event.shiftKey && fnkey > 0  && fnkey < 13) fnkey += 12;


   if (fnkey > -1)
   {
     // An FKEY was pressed, and the key (1-24) is in fnkey
     //alert ('F' + fnkey);
    if (fnkey == 2) { FKeyDown();  }
   }
}
// change the Farsi

function FKeyPress(lang) {

  var key = window.event.keyCode;
   // Avoid processing if control or higher than ASCII (i.e., in Arabic Windows)
  if (key < 0x0020 || key >= 0x00FF) return;
   
  if (lang == 1) { file://If Farsi

	  if ((key<91)&&(key>64)){key=key+32};
		
      if (key == 0x005C) { key= 67; };
      if (key == 0x0054) { key= 0x200C; };
      if (key == 0x0060) { key = 109; };
      if ((key != 0x200C) &&((key>57)||(key<48)))
      {
          window.event.keyCode = farsikey[key - 0x0020];
      } else 
      {	window.event.keyCode = key; }
      
  }
 return true;
}
function P2E(keyCode) {
  chrReturn = 0;
  
  if (keyCode == 1523) { chrReturn = 128 };
  if (keyCode == 1524) { chrReturn = 129 };
  if (keyCode == 1548) { chrReturn = 130 };
  if (keyCode == 1563) { chrReturn = 131 };
  if (keyCode == 1567) { chrReturn = 132 };
  if (keyCode == 1569) { chrReturn = 133 };
  if (keyCode == 1570) { chrReturn = 134 };
  if (keyCode == 1571) { chrReturn = 135 };
  if (keyCode == 1572) { chrReturn = 136 };
  if (keyCode == 1573) { chrReturn = 137 };
  if (keyCode == 1574) { chrReturn = 138 };
  if (keyCode == 1575) { chrReturn = 139 };
  if (keyCode == 1576) { chrReturn = 140 };
  if (keyCode == 1577) { chrReturn = 141 };
  if (keyCode == 1578) { chrReturn = 142 };
  if (keyCode == 1579) { chrReturn = 143 };
  if (keyCode == 1580) { chrReturn = 144 };
  if (keyCode == 1581) { chrReturn = 145 };
  if (keyCode == 1582) { chrReturn = 146 };
  if (keyCode == 1583) { chrReturn = 147 };
  if (keyCode == 1584) { chrReturn = 148 };
  if (keyCode == 1585) { chrReturn = 149 };
  if (keyCode == 1586) { chrReturn = 150 };
  if (keyCode == 1587) { chrReturn = 151 };
  if (keyCode == 1588) { chrReturn = 152 };
  if (keyCode == 1589) { chrReturn = 153 };
  if (keyCode == 1590) { chrReturn = 154 };
  if (keyCode == 1591) { chrReturn = 155 };
  if (keyCode == 1592) { chrReturn = 156 };
  if (keyCode == 1593) { chrReturn = 157 };
  if (keyCode == 1594) { chrReturn = 158 };
  if (keyCode == 1600) { chrReturn = 159 };
  if (keyCode == 1601) { chrReturn = 160 };
  if (keyCode == 1602) { chrReturn = 161 };
  if (keyCode == 1603) { chrReturn = 162 };
  if (keyCode == 1604) { chrReturn = 163 };
  if (keyCode == 1605) { chrReturn = 164 };
  if (keyCode == 1606) { chrReturn = 165 };
  if (keyCode == 1607) { chrReturn = 166 };
  if (keyCode == 1608) { chrReturn = 167 };
  if (keyCode == 1609) { chrReturn = 168 };
  if (keyCode == 1610) { chrReturn = 169 };
  if (keyCode == 1611) { chrReturn = 170 };
  if (keyCode == 1612) { chrReturn = 171 };
  if (keyCode == 1613) { chrReturn = 172 };
  if (keyCode == 1614) { chrReturn = 173 };
  if (keyCode == 1615) { chrReturn = 174 };
  if (keyCode == 1616) { chrReturn = 175 };
  if (keyCode == 1617) { chrReturn = 176 };
  if (keyCode == 1618) { chrReturn = 177 };
  if (keyCode == 1632) { chrReturn = 178 };
  if (keyCode == 1633) { chrReturn = 179 };
  if (keyCode == 1634) { chrReturn = 180 };
  if (keyCode == 1635) { chrReturn = 181 };
  if (keyCode == 1636) { chrReturn = 182 };
  if (keyCode == 1637) { chrReturn = 183 };
  if (keyCode == 1638) { chrReturn = 184 };
  if (keyCode == 1639) { chrReturn = 185 };
  if (keyCode == 1640) { chrReturn = 186 };
  if (keyCode == 1641) { chrReturn = 187 };
  if (keyCode == 1643) { chrReturn = 188 };
  if (keyCode == 1644) { chrReturn = 189 };
  if (keyCode == 1645) { chrReturn = 190 };
  if (keyCode == 1662) { chrReturn = 191 };
  if (keyCode == 1670) { chrReturn = 192 };
  if (keyCode == 1688) { chrReturn = 193 };
  if (keyCode == 1700) { chrReturn = 194 };
  if (keyCode == 1705) { chrReturn = 195 };
  if (keyCode == 1711) { chrReturn = 196 };
  if (keyCode == 1728) { chrReturn = 197 };
  if (keyCode == 1740) { chrReturn = 198 };
  if (keyCode == 1749) { chrReturn = 199 };
  if (keyCode == 1776) { chrReturn = 178 };
  if (keyCode == 1777) { chrReturn = 179 };
  if (keyCode == 1778) { chrReturn = 180 };
  if (keyCode == 1779) { chrReturn = 181 };
  if (keyCode == 1780) { chrReturn = 182 };
  if (keyCode == 1781) { chrReturn = 183 };
  if (keyCode == 1782) { chrReturn = 184 };
  if (keyCode == 1783) { chrReturn = 185 };
  if (keyCode == 1784) { chrReturn = 186 };
  if (keyCode == 1785) { chrReturn = 187 };
  if (chrReturn == 0) { chrReturn = keyCode };
  
  return chrReturn;
}