		function change(obj) {
		  if (flag==0)
		    flag=1
		  else
		    flag=0;
		
		  obj.focus();
		}
		
		
		function convert(name, 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)) {
		    if (key==42 || key==126 || key==63) return;
		    key=' !"#$%،گ)(×+و-./0123456789:ک,=.؟@ِذ}ىُىلآ÷ـ،/’د×؛َءٍف‘{ًْإ~جژچ^_پشذزيثبلاهتنمئدخحضقسفعرصطغظ<|>ّ'.charCodeAt(key-32);
	
		    try {
		      // Gecko before banning fake key emission.
		      e.initKeyEvent("keypress", true, true, document.defaultView, false, false, true, false, 0, key, obj);
		    } catch (err) {
		      try {
		        // Windows
		        e.keyCode = key;
		      } catch (err) {
		        try {
		          // Try inserting at cursor position, Gecko after banning fake key emission
		          pnhMozStringInsert(obj, String.fromCharCode(key));
		          e.preventDefault();
		        } catch (err) {
		          // Everything else, simply add to the end of buffer
		          obj.value += String.fromCharCode(key);
		          e.preventDefault();
		        }
		      }
		    }
		  } //if
		  return true;
		}
