﻿var flag
flag=0

function change(obj) {
  if (flag==0)
    flag=1
  else
    flag=0;

  obj.focus();
}


function convert(myfield,e) {
  if (flag != 0) {
    return true;
  }

  if (window.event) {
    e = window.event;
    obj = e.srcElement;
    key = e.keyCode;
  } else {
    obj = e.target;
    key = e.charCode;
  }


  if ((key > 32) && (key < 128)) {
    newkey=' !"#$%،گ)(×+و-./0123456789:ک,=.؟@ِذژىُىلآ÷ـ،/’د×؛َءٍف‘{ًْإ~جپچ^_÷شذزیثبلاهتنمئدخحضقسفعرصطغظ<|>ّ'.charCodeAt(key-32);

    try {
      // Gecko 
      var new_event=document.createEvent("KeyEvents");
      new_event.initKeyEvent("keypress", false, true, document.defaultView, false, false, false, false, 0, newkey);
      obj.dispatchEvent(new_event);
      e.preventDefault();
    } catch (err) {
    try {
      // Windows
      e.keyCode = newkey;
    } catch (err) {
    try {
      // Gecko after banning fake key emission (FF 1.0.6 to FF 1.5.0.1)
      // Try inserting at cursor position
      pnhMozStringInsert(obj, String.fromCharCode(newkey));
      e.preventDefault();
    } catch (err) {
      // Everything else, simply add to the end of buffer
      obj.value += String.fromCharCode(newkey);
      e.preventDefault();
    }}}



  } //if


  return true;
}









// Inserts a string at cursor
function pnhMozStringInsert(elt, newtext) {
	var posStart = elt.selectionStart;
	var posEnd = elt.selectionEnd;
	var scrollTop = elt.scrollTop;
	var scrollLeft = elt.scrollLeft;
	
        elt.value = elt.value.slice(0,posStart)+newtext+elt.value.slice(posEnd);
        var newpos = posStart+newtext.length;
        elt.selectionStart = newpos;
        elt.selectionEnd = newpos;	
        elt.scrollTop = scrollTop;
        elt.scrollLeft = scrollLeft;
        elt.focus();
	
}


