var enable_persian = true;

function processkey(e,id) {
 var txt = id; //document.getElementById(idname);

 var mod = "";
 mod = mod + (e.altKey ? 1 : 0);
 mod = mod + (e.shiftKey ? 1 : 0);
 mod = mod + (e.ctrlKey ? 1 : 0);

 var key = 0;
 if (is_ie) {
  key = e.keyCode;
 } else {
  key = e.which;
 };


 if (mod == "111" || mod == "110") {
  enable_persian = ! enable_persian;
 };


 var pcode = key;
 if (enable_persian) {
  pcode = persianCode(key, mod);
 };

 if (pcode != key) {
  if (is_ie) {
   e.keyCode = pcode;
  } else {
   pnhMozStringInsert(txt, String.fromCharCode(pcode)); 
   e.preventDefault();
  }
 };

 return true;
};






// Inserts a string at cursor
function pnhMozStringInsert(elt, newtext) {
        var PosStart = 100000;
        var PosEnd = PosStart;
	PosStart = elt.selectionStart;
	PosEnd = elt.selectionEnd;
        elt.value = elt.value.slice(0,PosStart)+newtext+elt.value.slice(PosEnd);
        var newpos = PosStart+newtext.length;
        elt.selectionStart = newpos;
        elt.selectionEnd = newpos;
        elt.focus();
}
