コモンズ・マーカーの表示/非表示をtoggleするgresemonkey

http://commonsmarker.com/bookmarkletをみたら、結構かんたんにできそうだったのでつくりました。

機能

"\"のキー*1を押すとコモンズ・マーカーが表示したり、非表示になったりします。

こーど

// ==UserScript==
// @name          commons's marker visuble toggle
// @namespace     http://d.hatena.ne.jp/trotr
// @description
// @include       http://*
// @version       0.0.0
// @author        trotr
// ==/UserScript==

(function() {
   var BINDKEY="\\";

   function CMKtls(){
     this.is_view = false;
     this.element_is_exsit = false;
     this.id ='cmktls_root';
   }

   var cmktls = new CMKtls();

   function delete_cmktls(){
     //console.log("delete");
     var e = document.getElementById(cmktls.id);
     if(e){
       cmktls.element = e;
       e.parentNode.removeChild(e);
     }
   }

   function revert_cmktls(){
     if(!cmktls.element_is_exsit){
       cmktls.element_is_exsit =  !cmktls.element_is_exsit;
       var e = document.createElement("script");
       e.src = "http://commonsmarker.com/boot/tools_loader.js";
       e.charset='utf-8';
       document.body.appendChild(e);
     } else{
       document.body.appendChild(cmktls.element);
     }
   }

   function toggle_view_or_notview(){
     cmktls.is_view ?  delete_cmktls() : revert_cmktls();
     cmktls.is_view = !cmktls.is_view;
   }

   var skipEl = {'input': true, 'button': true, 'select': true, 'textarea': true, 'password': true};
   window.addEventListener('keypress', function(e){
			     if (skipEl[e.target.tagName.toLowerCase()]) {return;}
			     if (String.fromCharCode(e.charCode) == BINDKEY){
			       toggle_view_or_notview(cmktls);
			     }
			},false);

 })();

javascriptわからないです><。
動くコードは書けますが、きれいなコードがわかりません><。

追記

noscriptjavascriptを無効にしたurlでは動かなくなるみたい。

*1:backspaceの左にあるあれです。