(function(f){f.fn.softKey=function(o){return this.each(function(){if(o){if(this.objSoftKey){return}i(this);this.objSoftKey=true}else{if(!this.objSoftKey){return}g(this);this.objSoftKey=null}})};var c={full:["`~","num","-_","=+","newline","qQ","wW","eE","rR","tT","yY","uU","iI","oO","pP","[{","]}","\\|","newline","aA","sS","dD","fF","gG","hH","jJ","kK","lL",";:","'\"","Shift|=42","newline","zZ","xX","cC","vV","bB","nN","mM",",<",".>","/?","←","Enter|=42"],num:["1!","2@","3#","4$","5%","6^","7&","8*","9(","0)"]};var b=false,a=false,e;function i(o){f(o).attr("softkey","true").dblclick(l).mousedown(n)}function g(o){f(o).unbind("dblclick",l).unbind("mousedown",n).removeAttr("softkey")}function n(){a=true}function l(p){var s=e=p.target;var o=f("#divSoftKeyboard");b=false;h();var r=0,q=0;while(s.offsetParent){r+=s.offsetLeft;q+=s.offsetTop;s=s.offsetParent}o.css({left:r,top:q+e.offsetHeight+1,display:"block"})}function h(){var o,s="",q;o=c.full;for(var p=0;p<o.length;p++){arrButton=o[p].split("|=");var q="";if(arrButton[1]){q=' style="width:'+arrButton[1]+'px"'}if(arrButton[0].length>2){switch(arrButton[0]){case"newline":s+="<br />";break;case"num":s+=d();break;default:s+='<input type="button"'+q+' value="'+arrButton[0]+'" />';break}}else{var r=0;if(arrButton[0]!="←"&&b){r=1}s+='<input type="button"'+q+' value="'+m(arrButton[0].substr(r,1))+'" />'}}f("#divSoftKeyboard").html(s);f("#divSoftKeyboard input").click(k)}function m(o){return o.replace(/\"/g,"&quot;")}function d(){var q="",p=0;if(b){p=1}for(var o=0;o<10;o++){q+='<input type="button" value="'+c.num[o].substr(p,1)+'" />'}return q}function k(){var o=this.value;switch(o){case"Enter":j();break;case"←":e.value=e.value.substr(0,e.value.length-1);break;case"Shift":b=!b;h();break;default:e.value+=o;break}f(e).keyup()}function j(o){if(e){f("#divSoftKeyboard").css("display","none");e.focus();e=null}}f(function(){f("head").append(f('<style type="text/css">#divSoftKeyboard{position:absolute;font-family:ms shell dlg;font-size:12px;white-space:nowrap;text-align:left;top:0;left:0;z-index:150;display:none;background:#3D3D3D;border:#303030 1px solid;padding:2px 0px 0px 2px}#divSoftKeyboard input{width:20px;height:20px;background-color:#3D3D3D;border-width:1px;margin:0px 2px 2px 0px;padding:0px;border: 1px solid #000;border-top: 1px solid #6e6e6e;border-left: 1px solid #6e6e6e;color:#fff;}</style>'));f(document.body).append(f('<div id="divSoftKeyboard"></div>'));f("#divSoftKeyboard").mousedown(n).bind("selectstart",function(){return false});f(document).mousedown(function(){if(!a){j()}a=false});for(var p=0;p<10;p++){randomNum=parseInt(Math.random()*10);var o=c.num[0];c.num[0]=c.num[randomNum];c.num[randomNum]=o}f("[softKey]").softKey(true)})})(jQuery);
