<!--
   function appendKey(language, text, c) {
      switch(language) {
         case '1':
            text.value = text.value + String.fromCharCode(pushto(c));
         break;
         case '2':
            text.value = text.value + String.fromCharCode(sindhi(c));
         break;
         case '3':
            text.value = text.value + String.fromCharCode(urdu(c));
         break;
         case '4':
            text.value = text.value + String.fromCharCode(arabic(c));
         break;
         case '5':
            text.value = text.value + String.fromCharCode(farsi(c));
         break;
         case '6':
            text.value = text.value + String.fromCharCode(saraiki(c));
         break;
         case '7':
            text.value = text.value + String.fromCharCode(balochi(c));
         break;
      }
   }

   function encodeKey(event, text, language) {
      if(language == '0') {
         if(text.value.length <= 0) {
            text.dir = "ltr";
         }
         return true;
      }
      if(text.value.length <= 0) {
         text.dir = "rtl";
      }
      var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
      var newKeyCode = keyCode;
      switch(language) {
         case '1':
            var c = String.fromCharCode(keyCode);
            newKeyCode = pushto(c, keyCode);
         break;
         case '2':
            var c = String.fromCharCode(keyCode);
            newKeyCode = sindhi(c, keyCode);
         break;
         case '3':
            var c = String.fromCharCode(keyCode);
            newKeyCode = urdu(c, keyCode);
         break;
         case '4':
            var c = String.fromCharCode(keyCode);
            newKeyCode = arabic(c, keyCode);
         break;
         case '5':
            var c = String.fromCharCode(keyCode);
            newKeyCode = farsi(c, keyCode);
         break;
         case '6':
            var c = String.fromCharCode(keyCode);
            newKeyCode = saraiki(c, keyCode);
         break;
         case '7':
            var c = String.fromCharCode(keyCode);
            newKeyCode = balochi(c, keyCode);
         break;
      }
      if(window.event && !window.opera) {
         event.keyCode = newKeyCode;
         return true;
      } else if (keyCode != newKeyCode && typeof text.setSelectionRange != 'undefined') {
         if (event.preventDefault) {
            event.preventDefault();
         }
         var oldSelectionStart = text.selectionStart;
         var oldSelectionEnd = text.selectionEnd;
         text.value = text.value.substring(0, oldSelectionStart) + String.fromCharCode(newKeyCode) + text.value.substring(oldSelectionEnd);
         text.setSelectionRange(oldSelectionStart + 1, oldSelectionStart + 1);
         return false;
      }
      return true;
   }

   function pushto(c, keyCode) {
      var newChar = keyCode;
      switch(c) {
         // lower case
         case '`':   break;
         case '0':   newChar = 0x0660; break;
         case '1':   newChar = 0x0661; break;
         case '2':   newChar = 0x0662; break;
         case '3':   newChar = 0x0663; break;
         case '4':   newChar = 0x0664; break;
         case '5':   newChar = 0x0665; break;
         case '6':   newChar = 0x0666; break;
         case '7':   newChar = 0x0667; break;
         case '8':   newChar = 0x0668; break;
         case '9':   newChar = 0x0669; break;
         case '-':   break;
         case '=':   break;

         case 'q':   newChar = 0x0642; break;
         case 'w':   newChar = 0x0648; break;
         case 'e':   newChar = 0x0639; break;
         case 'r':   newChar = 0x0631; break;
         case 't':   newChar = 0x062A; break;
         case 'y':   newChar = 0x06D2; break;
         case 'u':   newChar = 0x06CD; break;
         case 'i':   newChar = 0x0626; break;
         case 'o':   newChar = 0x06D0; break;
         case 'p':   newChar = 0x067E; break;
         case '[':   break;
         case ']':   break;

         case 'a':   newChar = 0x0627; break;
         case 's':   newChar = 0x0633; break;
         case 'd':   newChar = 0x062F; break;
         case 'f':   newChar = 0x0641; break;
         case 'g':   newChar = 0x06AB; break;
         case 'h':   newChar = 0x062D; break;
         case 'j':   newChar = 0x062C; break;
         case 'k':   newChar = 0x062E; break;
         case 'l':   newChar = 0x0644; break;
         case ';':   break;
         case '\'':  break;

         case 'z':   newChar = 0x0632; break;
         case 'x':   newChar = 0x0634; break;
         case 'c':   newChar = 0x0686; break;
         case 'v':   newChar = 0x0637; break;
         case 'b':   newChar = 0x0628; break;
         case 'n':   newChar = 0x0646; break;
         case 'm':   newChar = 0x0645; break;
         case ',':   break;
         case '.':   break;
         case '/':   break;


         // upper case
         case '~':   break;
         case '!':   break;
         case '@':   break;
         case '#':   break;
         case '$':   break;
         case '%':   break;
         case '^':   break;
         case '&':   break;
         case '*':   break;
         case '(':   break;
         case ')':   break;
         case '_':   break;
         case '+':   break;

         case 'Q':   newChar = 0x06A9; break;
         case 'W':   break;
         case 'E':   newChar = 0x0685; break;
         case 'R':   newChar = 0x0693; break;
         case 'T':   newChar = 0x067C; break;
         case 'Y':   break;
         case 'U':   break;
         case 'I':   newChar = 0x0649; break;
         case 'O':   newChar = 0x06D0; break;
         case 'P':   break;
         case '{':   break;
         case '}':   break;

         case 'A':   newChar = 0x0622; break;
         case 'S':   newChar = 0x0635; break;
         case 'D':   newChar = 0x0689; break;
         case 'F':   newChar = 0x0696; break;
         case 'G':   newChar = 0x063A; break;
         case 'H':   newChar = 0x064A; break;
         case 'J':   newChar = 0x0636; break;
         case 'K':   newChar = 0x06AB; break;
         case 'L':   newChar = 0x069A; break;
         case ':':   break;
         case '\"':  break;

         case 'Z':   newChar = 0x0630; break;
         case 'X':   newChar = 0x0698; break;
         case 'C':   newChar = 0x062B; break;
         case 'V':   newChar = 0x0638; break;
         case 'B':   newChar = 0x0681; break;
         case 'N':   newChar = 0x06BC; break;
         case 'M':   newChar = 0x0647; break;
         case '<':   break;
         case '>':   break;
         case '?':   newChar = 0x061F; break;

         case ' ':   newChar = 0x0020; break;
      }
      return newChar;
   }

   function sindhi(c, keyCode) {
      var newChar = keyCode;
      switch(c) {
         // lower case
         case '`':   break;
         case '0':   newChar = 0x0660; break;
         case '1':   newChar = 0x0661; break;
         case '2':   newChar = 0x0662; break;
         case '3':   newChar = 0x0663; break;
         case '4':   newChar = 0x0664; break;
         case '5':   newChar = 0x0665; break;
         case '6':   newChar = 0x0666; break;
         case '7':   newChar = 0x0667; break;
         case '8':   newChar = 0x0668; break;
         case '9':   newChar = 0x0669; break;
         case '-':   break;
         case '=':   break;

         case 'q':   newChar = 0x0642; break;
         case 'w':   newChar = 0x0648; break;
         case 'e':   newChar = 0x0639; break;
         case 'r':   newChar = 0x0631; break;
         case 't':   newChar = 0x062A; break;
         case 'y':   break;
         case 'u':   newChar = 0x0621; break;
         case 'i':   newChar = 0x064A; break;
         case 'o':   break;
         case 'p':   newChar = 0x067E; break;
         case '[':   break;
         case ']':   break;

         case 'a':   newChar = 0x0627; break;
         case 's':   newChar = 0x0633; break;
         case 'd':   newChar = 0x062F; break;
         case 'f':   newChar = 0x0641; break;
         case 'g':   newChar = 0x06AF; break;
         case 'h':   newChar = 0x062D; break;
         case 'j':   newChar = 0x062C; break;
         case 'k':   newChar = 0x062E; break;
         case 'l':   newChar = 0x0644; break;
         case ';':   break;
         case '\'':  break;

         case 'z':   newChar = 0x0632; break;
         case 'x':   newChar = 0x0634; break;
         case 'c':   newChar = 0x0686; break;
         case 'v':   newChar = 0x0637; break;
         case 'b':   newChar = 0x0628; break;
         case 'n':   newChar = 0x06BA; break;
         case 'm':   newChar = 0x0645; break;
         case ',':   break;
         case '.':   break;
         case '/':   break;


         // upper case
         case '~':   break;
         case '!':   break;
         case '@':   break;
         case '#':   break;
         case '$':   break;
         case '%':   break;
         case '^':   break;
         case '&':   break;
         case '*':   break;
         case '(':   break;
         case ')':   break;
         case '_':   break;
         case '+':   break;

         case 'Q':   newChar = 0x06A9; break;
         case 'W':   break;
         case 'E':   newChar = 0x067F; break;
         case 'R':   newChar = 0x0699; break;
         case 'T':   newChar = 0x067D; break;
         case 'Y':   break;
         case 'U':   break;
         case 'I':   newChar = 0x0687; break;
         case 'O':   break;
         case 'P':   newChar = 0x06A6; break;
         case '{':   break;
         case '}':   break;

         case 'A':   newChar = 0x067B; break;
         case 'S':   newChar = 0x0635; break;
         case 'D':   newChar = 0x068A; break;
         case 'F':   newChar = 0x067A; break;
         case 'G':   newChar = 0x063A; break;
         case 'H':   newChar = 0x06BE; break;
         case 'J':   newChar = 0x0636; break;
         case 'K':   newChar = 0x06AA; break;
         case 'L':   newChar = 0x068D; break;
         case ':':   break;
         case '\"':  break;

         case 'Z':   newChar = 0x0630; break;
         case 'X':   break;
         case 'C':   newChar = 0x062B; break;
         case 'V':   newChar = 0x0638; break;
         case 'B':   newChar = 0x0680; break;
         case 'N':   newChar = 0x06BA; break;
         case 'M':   newChar = 0x068C; break;
         case '<':   break;
         case '>':   break;
         case '?':   newChar = 0x061F; break;

         case ' ':   newChar = 0x0020; break;
      }
      return newChar;
   }

   function urdu(c, keyCode) {
      var newChar = keyCode;
      switch(c) {
         // lower case
         case '`':   break;
         case '0':   newChar = 0x0660; break;
         case '1':   newChar = 0x0661; break;
         case '2':   newChar = 0x0662; break;
         case '3':   newChar = 0x0663; break;
         case '4':   newChar = 0x0664; break;
         case '5':   newChar = 0x0665; break;
         case '6':   newChar = 0x0666; break;
         case '7':   newChar = 0x0667; break;
         case '8':   newChar = 0x0668; break;
         case '9':   newChar = 0x0669; break;
         case '-':   break;
         case '=':   break;

         case 'q':   newChar = 0x0642; break;
         case 'w':   newChar = 0x0648; break;
         case 'e':   newChar = 0x0639; break;
         case 'r':   newChar = 0x0631; break;
         case 't':   newChar = 0x062A; break;
         case 'y':   newChar = 0x06D2; break;
         case 'u':   newChar = 0x0621; break;
         case 'i':   newChar = 0x0649; break;
         case 'o':   newChar = 0x0629; break;
         case 'p':   newChar = 0x067E; break;
         case '[':   break;
         case ']':   break;

         case 'a':   newChar = 0x0627; break;
         case 's':   newChar = 0x0633; break;
         case 'd':   newChar = 0x062F; break;
         case 'f':   newChar = 0x0641; break;
         case 'g':   newChar = 0x06AF; break;
         case 'h':   newChar = 0x062D; break;
         case 'j':   newChar = 0x062C; break;
         case 'k':   newChar = 0x062E; break;
         case 'l':   newChar = 0x0644; break;
         case ';':   break;
         case '\'':  break;

         case 'z':   newChar = 0x0632; break;
         case 'x':   newChar = 0x0634; break;
         case 'c':   newChar = 0x0686; break;
         case 'v':   newChar = 0x0637; break;
         case 'b':   newChar = 0x0628; break;
         case 'n':   newChar = 0x0646; break;
         case 'm':   newChar = 0x0645; break;
         case ',':   break;
         case '.':   break;
         case '/':   break;

         // upper case
         case '~':   break;
         case '!':   break;
         case '@':   break;
         case '#':   break;
         case '$':   break;
         case '%':   break;
         case '^':   break;
         case '&':   break;
         case '*':   break;
         case '(':   break;
         case ')':   break;
         case '_':   break;
         case '+':   break;

         case 'Q':   newChar = 0x06A9; break;
         case 'W':   newChar = 0x0624; break;
         case 'E':   newChar = 0x0639; break;
         case 'R':   newChar = 0x0691; break;
         case 'T':   newChar = 0x0679; break;
         case 'Y':   newChar = 0x06D3; break;
         case 'U':   newChar = 0x0621; break;
         case 'I':   newChar = 0x064A; break;
         case 'O':   newChar = 0x06C3; break;
         case 'P':   newChar = 0x067E; break;
         case '{':   break;
         case '}':   break;

         case 'A':   newChar = 0x0622; break;
         case 'S':   newChar = 0x0635; break;
         case 'D':   newChar = 0x0688; break;
         case 'F':   newChar = 0x0641; break;
         case 'G':   newChar = 0x063A; break;
         case 'H':   newChar = 0x06BE; break;
         case 'J':   newChar = 0x0636; break;
         case 'K':   newChar = 0x06A9; break;
         case 'L':   newChar = 0x0644; break;
         case ':':   break;
         case '\"':  break;

         case 'Z':   newChar = 0x0630; break;
         case 'X':   newChar = 0x0698; break;
         case 'C':   newChar = 0x062B; break;
         case 'V':   newChar = 0x0638; break;
         case 'B':   newChar = 0x0628; break;
         case 'N':   newChar = 0x06BA; break;
         case 'M':   newChar = 0x0645; break;
         case '<':   break;
         case '>':   break;
         case '?':   newChar = 0x061F; break;

         case ' ':   newChar = 0x0020; break;
      }
      return newChar;
   }

   function arabic(c, keyCode) {
      var newChar = keyCode;
      switch(c) {
         // lower case
         case '`':   break;
         case '0':   newChar = 0x0660; break;
         case '1':   newChar = 0x0661; break;
         case '2':   newChar = 0x0662; break;
         case '3':   newChar = 0x0663; break;
         case '4':   newChar = 0x0664; break;
         case '5':   newChar = 0x0665; break;
         case '6':   newChar = 0x0666; break;
         case '7':   newChar = 0x0667; break;
         case '8':   newChar = 0x0668; break;
         case '9':   newChar = 0x0669; break;
         case '-':   break;
         case '=':   break;

         case 'q':   newChar = 0x0642; break;
         case 'w':   newChar = 0x0648; break;
         case 'e':   newChar = 0x0639; break;
         case 'r':   newChar = 0x0631; break;
         case 't':   newChar = 0x062A; break;
         case 'y':   newChar = 0x06D2; break;
         case 'u':   newChar = 0x0621; break;
         case 'i':   newChar = 0x0649; break;
         case 'o':   newChar = 0x0629; break;
         case 'p':   break;
         case '[':   break;
         case ']':   break;

         case 'a':   newChar = 0x0627; break;
         case 's':   newChar = 0x0633; break;
         case 'd':   newChar = 0x062F; break;
         case 'f':   newChar = 0x0641; break;
         case 'g':   newChar = 0x063A; break;
         case 'h':   newChar = 0x062D; break;
         case 'j':   newChar = 0x062C; break;
         case 'k':   newChar = 0x062E; break;
         case 'l':   newChar = 0x0644; break;
         case ';':   break;
         case '\'':  break;

         case 'z':   newChar = 0x0632; break;
         case 'x':   newChar = 0x0634; break;
         case 'c':   newChar = 0x062B; break;
         case 'v':   newChar = 0x0637; break;
         case 'b':   newChar = 0x0628; break;
         case 'n':   newChar = 0x0646; break;
         case 'm':   newChar = 0x0645; break;
         case ',':   break;
         case '.':   break;
         case '/':   break;

         // upper case
         case '~':   break;
         case '!':   break;
         case '@':   break;
         case '#':   break;
         case '$':   break;
         case '%':   break;
         case '^':   break;
         case '&':   break;
         case '*':   break;
         case '(':   break;
         case ')':   break;
         case '_':   break;
         case '+':   break;

         case 'Q':   newChar = 0x06A9; break;
         case 'W':   newChar = 0x0624; break;
         case 'E':   newChar = 0x0639; break;
         case 'R':   newChar = 0x0631; break;
         case 'T':   newChar = 0x062A; break;
         case 'Y':   newChar = 0x06D3; break;
         case 'U':   newChar = 0x0621; break;
         case 'I':   newChar = 0x064A; break;
         case 'O':   newChar = 0x06C3; break;
         case 'P':   break;
         case '{':   break;
         case '}':   break;

         case 'A':   newChar = 0x0622; break;
         case 'S':   newChar = 0x0635; break;
         case 'D':   newChar = 0x062F; break;
         case 'F':   newChar = 0x0641; break;
         case 'G':   newChar = 0x063A; break;
         case 'H':   newChar = 0x062D; break;
         case 'J':   newChar = 0x0636; break;
         case 'K':   newChar = 0x0643; break;
         case 'L':   newChar = 0x0644; break;
         case ':':   break;
         case '\"':  break;

         case 'Z':   newChar = 0x0630; break;
         case 'X':   newChar = 0x0634; break;
         case 'C':   newChar = 0x062B; break;
         case 'V':   newChar = 0x0638; break;
         case 'B':   newChar = 0x0628; break;
         case 'N':   newChar = 0x0646; break;
         case 'M':   newChar = 0x0645; break;
         case '<':   break;
         case '>':   break;
         case '?':   newChar = 0x061F; break;

         case ' ':   newChar = 0x0020; break;
      }
      return newChar;
   }

   function farsi(c, keyCode) {
      var newChar = keyCode;
      switch(c) {
         // lower case
         case '`':   break;
         case '0':   newChar = 0x06F0; break;
         case '1':   newChar = 0x06F1; break;
         case '2':   newChar = 0x06F2; break;
         case '3':   newChar = 0x06F3; break;
         case '4':   newChar = 0x06F4; break;
         case '5':   newChar = 0x06F5; break;
         case '6':   newChar = 0x06F6; break;
         case '7':   newChar = 0x06F7; break;
         case '8':   newChar = 0x06F8; break;
         case '9':   newChar = 0x06F9; break;
         case '-':   break;
         case '=':   break;

         case 'q':   newChar = 0x0642; break;
         case 'w':   newChar = 0x0648; break;
         case 'e':   newChar = 0x0639; break;
         case 'r':   newChar = 0x0631; break;
         case 't':   newChar = 0x062A; break;
         case 'y':   break;
         case 'u':   break;
         case 'i':   newChar = 0x0649; break;
         case 'o':   newChar = 0x0647; break;
         case 'p':   newChar = 0x067E; break;
         case '[':   break;
         case ']':   break;

         case 'a':   newChar = 0x0627; break;
         case 's':   newChar = 0x0633; break;
         case 'd':   newChar = 0x062F; break;
         case 'f':   newChar = 0x0641; break;
         case 'g':   newChar = 0x06AF; break;
         case 'h':   newChar = 0x062D; break;
         case 'j':   newChar = 0x062C; break;
         case 'k':   newChar = 0x062E; break;
         case 'l':   newChar = 0x0644; break;
         case ';':   break;
         case '\'':  break;

         case 'z':   newChar = 0x0632; break;
         case 'x':   newChar = 0x0634; break;
         case 'c':   newChar = 0x0686; break;
         case 'v':   newChar = 0x0637; break;
         case 'b':   newChar = 0x0628; break;
         case 'n':   newChar = 0x0646; break;
         case 'm':   newChar = 0x0645; break;
         case ',':   break;
         case '.':   break;
         case '/':   break;

         // upper case
         case '~':   break;
         case '!':   break;
         case '@':   break;
         case '#':   break;
         case '$':   break;
         case '%':   break;
         case '^':   break;
         case '&':   break;
         case '*':   break;
         case '(':   break;
         case ')':   break;
         case '_':   break;
         case '+':   break;

         case 'Q':   newChar = 0x06A9; break;
         case 'W':   newChar = 0x0648; break;
         case 'E':   newChar = 0x0639; break;
         case 'R':   newChar = 0x0631; break;
         case 'T':   newChar = 0x062A; break;
         case 'Y':   break;
         case 'U':   break;
         case 'I':   newChar = 0x0649; break;
         case 'O':   newChar = 0x0647; break;
         case 'P':   newChar = 0x067E; break;
         case '{':   break;
         case '}':   break;

         case 'A':   newChar = 0x0627; break;
         case 'S':   newChar = 0x0635; break;
         case 'D':   newChar = 0x062F; break;
         case 'F':   newChar = 0x0641; break;
         case 'G':   newChar = 0x063A; break;
         case 'H':   newChar = 0x062D; break;
         case 'J':   newChar = 0x0636; break;
         case 'K':   newChar = 0x0643; break;
         case 'L':   newChar = 0x0644; break;
         case ':':   break;
         case '\"':  break;

         case 'Z':   newChar = 0x0630; break;
         case 'X':   newChar = 0x0698; break;
         case 'C':   newChar = 0x062B; break;
         case 'V':   newChar = 0x0638; break;
         case 'B':   newChar = 0x0628; break;
         case 'N':   newChar = 0x0646; break;
         case 'M':   newChar = 0x0645; break;
         case '<':   break;
         case '>':   break;
         case '?':   newChar = 0x061F; break;

         case ' ':   newChar = 0x0020; break;
      }
      return newChar;
   }

   function saraiki(c, keyCode) {
      var newChar = keyCode;
      switch(c) {
         // lower case
         case '`':   break;
         case '0':   newChar = 0x0660; break;
         case '1':   newChar = 0x0661; break;
         case '2':   newChar = 0x0662; break;
         case '3':   newChar = 0x0663; break;
         case '4':   newChar = 0x0664; break;
         case '5':   newChar = 0x0665; break;
         case '6':   newChar = 0x0666; break;
         case '7':   newChar = 0x0667; break;
         case '8':   newChar = 0x0668; break;
         case '9':   newChar = 0x0669; break;
         case '-':   break;
         case '=':   break;

         case 'q':   newChar = 0x0642; break;
         case 'w':   newChar = 0x0648; break;
         case 'e':   newChar = 0x0639; break;
         case 'r':   newChar = 0x0631; break;
         case 't':   newChar = 0x062A; break;
         case 'y':   newChar = 0x06D2; break;
         case 'u':   newChar = 0x0621; break;
         case 'i':   newChar = 0x0649; break;
         case 'o':   newChar = 0x06C1; break;
         case 'p':   newChar = 0x067E; break;
         case '[':   break;
         case ']':   break;

         case 'a':   newChar = 0x0627; break;
         case 's':   newChar = 0x0633; break;
         case 'd':   newChar = 0x062F; break;
         case 'f':   newChar = 0x0641; break;
         case 'g':   newChar = 0x06AF; break;
         case 'h':   newChar = 0x062D; break;
         case 'j':   newChar = 0x062C; break;
         case 'k':   newChar = 0x062E; break;
         case 'l':   newChar = 0x0644; break;
         case ';':   break;
         case '\'':  break;

         case 'z':   newChar = 0x0632; break;
         case 'x':   newChar = 0x0634; break;
         case 'c':   newChar = 0x0686; break;
         case 'v':   newChar = 0x0637; break;
         case 'b':   newChar = 0x0628; break;
         case 'n':   newChar = 0x0646; break;
         case 'm':   newChar = 0x0645; break;
         case ',':   break;
         case '.':   break;
         case '/':   break;

         // upper case
         case '~':   break;
         case '!':   break;
         case '@':   break;
         case '#':   break;
         case '$':   break;
         case '%':   break;
         case '^':   break;
         case '&':   break;
         case '*':   break;
         case '(':   break;
         case ')':   break;
         case '_':   break;
         case '+':   break;

         case 'Q':   newChar = 0x06A9; break;
         case 'W':   newChar = 0x0624; break;
         case 'E':   newChar = 0x0639; break;
         case 'R':   newChar = 0x0691; break;
         case 'T':   newChar = 0x0679; break;
         case 'Y':   newChar = 0x06D3; break;
         case 'U':   newChar = 0x0621; break;
         case 'I':   newChar = 0x064A; break;
         case 'O':   newChar = 0x0647; break;
         case 'P':   newChar = 0x0684; break;
         case '{':   break;
         case '}':   break;

         case 'A':   newChar = 0x0622; break;
         case 'S':   newChar = 0x0635; break;
         case 'D':   newChar = 0x0688; break;
         case 'F':   newChar = 0x06B0; break;
         case 'G':   newChar = 0x063A; break;
         case 'H':   newChar = 0x06BE; break;
         case 'J':   newChar = 0x0636; break;
         case 'K':   newChar = 0x0643; break;
         case 'L':   newChar = 0x0644; break;
         case ':':   break;
         case '\"':  break;

         case 'Z':   newChar = 0x0630; break;
         case 'X':   newChar = 0x068B; break;
         case 'C':   newChar = 0x062B; break;
         case 'V':   newChar = 0x0638; break;
         case 'B':   newChar = 0x067B; break;
         case 'N':   newChar = 0x06BA; break;
         case 'M':   newChar = 0x06BB; break;
         case '<':   break;
         case '>':   break;
         case '?':   newChar = 0x061F; break;

         case ' ':   newChar = 0x0020; break;
      }
      return newChar;
   }

   function balochi(c, keyCode) {
      var newChar = keyCode;
      switch(c) {
         // lower case
         case '`':   break;
         case '0':   newChar = 0x0660; break;
         case '1':   newChar = 0x0661; break;
         case '2':   newChar = 0x0662; break;
         case '3':   newChar = 0x0663; break;
         case '4':   newChar = 0x0664; break;
         case '5':   newChar = 0x0665; break;
         case '6':   newChar = 0x0666; break;
         case '7':   newChar = 0x0667; break;
         case '8':   newChar = 0x0668; break;
         case '9':   newChar = 0x0669; break;
         case '-':   break;
         case '=':   break;

         case 'q':   newChar = 0x0642; break;
         case 'w':   newChar = 0x0648; break;
         case 'e':   newChar = 0x0639; break;
         case 'r':   newChar = 0x0631; break;
         case 't':   newChar = 0x062A; break;
         case 'y':   newChar = 0x06D2; break;
         case 'u':   newChar = 0x0621; break;
         case 'i':   newChar = 0x0649; break;
         case 'o':   newChar = 0x0629; break;
         case 'p':   newChar = 0x067E; break;
         case '[':   break;
         case ']':   break;

         case 'a':   newChar = 0x0627; break;
         case 's':   newChar = 0x0633; break;
         case 'd':   newChar = 0x062F; break;
         case 'f':   newChar = 0x0641; break;
         case 'g':   newChar = 0x06AF; break;
         case 'h':   newChar = 0x062D; break;
         case 'j':   newChar = 0x062C; break;
         case 'k':   newChar = 0x062E; break;
         case 'l':   newChar = 0x0644; break;
         case ';':   break;
         case '\'':  break;

         case 'z':   newChar = 0x0632; break;
         case 'x':   newChar = 0x0634; break;
         case 'c':   newChar = 0x0686; break;
         case 'v':   newChar = 0x0637; break;
         case 'b':   newChar = 0x0628; break;
         case 'n':   newChar = 0x0646; break;
         case 'm':   newChar = 0x0645; break;
         case ',':   break;
         case '.':   break;
         case '/':   break;

         // upper case
         case '~':   break;
         case '!':   break;
         case '@':   break;
         case '#':   break;
         case '$':   break;
         case '%':   break;
         case '^':   break;
         case '&':   break;
         case '*':   break;
         case '(':   break;
         case ')':   break;
         case '_':   break;
         case '+':   break;

         case 'Q':   newChar = 0x06A9; break;
         case 'W':   newChar = 0x0624; break;
         case 'E':   newChar = 0x0672; break;
         case 'R':   newChar = 0x0691; break;
         case 'T':   newChar = 0x0679; break;
         case 'Y':   newChar = 0x06D3; break;
         case 'U':   newChar = 0x0673; break;
         case 'I':   newChar = 0x064A; break;
         case 'O':   newChar = 0x06C3; break;
         case 'P':   newChar = 0x068C; break;
         case '{':   break;
         case '}':   break;

         case 'A':   newChar = 0x0622; break;
         case 'S':   newChar = 0x0635; break;
         case 'D':   newChar = 0x0688; break;
         case 'F':   newChar = 0x06B4; break;
         case 'G':   newChar = 0x063A; break;
         case 'H':   newChar = 0x06BE; break;
         case 'J':   newChar = 0x0636; break;
         case 'K':   newChar = 0x0643; break;
         case 'L':   newChar = 0x0644; break;
         case ':':   break;
         case '\"':  break;

         case 'Z':   newChar = 0x0630; break;
         case 'X':   newChar = 0x0698; break;
         case 'C':   newChar = 0x062B; break;
         case 'V':   newChar = 0x0638; break;
         case 'B':   newChar = 0x0628; break;
         case 'N':   newChar = 0x06BA; break;
         case 'M':   newChar = 0x0645; break;
         case '<':   break;
         case '>':   break;
         case '?':   newChar = 0x061F; break;

         case ' ':   newChar = 0x0020; break;
      }
      return newChar;
   }
//-->
