var $keyboard=new Object(); $keyboard.name="keyboard"; $keyboard.hidetimeout=null; $keyboard.object=null; $keyboard.input=null; $keyboard.lowercase=true; $keyboard.disabled=false; $keyboard.selected=false; $keyboard.prevKeys=["~","!","@","#","$","%","^","&","*","(",")","_","+","|","-","`"]; $keyboard.nextKeys=["=","\\","{","}","q","w","e","r","t","y","u","i","o","p","[","]","<",">","?","a","s","d","f","g","h","j","k","l","'",",",".","/","chardelete","z","x","c","v","b","n","m",":",'"',";"," ","charswitch"]; $keyboard.numbers=["1","2","3","4","5","6","7","8","9","0"]; $keyboard.verify_blank_error="密码键盘资料不完整."; //Ajax validate 2009-12-31 $keyboard.oldvalue=null; $keyboard.maxlength=20; $keyboard.show=function (el){ if(this.disabled){ return; } this.addListener(); if(this.input!=el&&this.object!=null){ this.hidden(); } this.input=el; el.readOnly=true; setTimeout("$keyboard.display()",10); //Ajax validate 2009-12-31 try{ this.oldvalue=el.value; if(jQuery(el).attr("maxlength")!=null && jQuery(el).attr("maxlength")!="" && jQuery(el).attr("maxlength")>0){ $keyboard.maxlength = jQuery(el).attr("maxlength"); } }catch(e){ $keyboard.maxlength = 20; this.oldvalue = el.value; } }; $keyboard.addListener=function (){ document.removeEvent("keyup",this.fn); document.removeEvent("click",this.fn); this.fn=function (event){ $keyboard.remove(event); }; document.addEvent("keyup",this.fn); document.addEvent("click",this.fn); }; $keyboard.hide=function (el){ var key=$(this.name+el.id); if(!$defined(key)){ alert(this.verify_blank_error); } this.hidetimeout=setTimeout("$keyboard.hidden()",100); this.object=key; this.input=el; }; $keyboard.hidden=function (){ this.object.style.display="none"; this.disabled=false; this.input.readOnly=false; //Ajax validate 2009-12-31 try{ if(this.oldvalue!=null){ //如果有校验了 if(this.oldvalue != this.input.value){ if(jQuery(this.input).validateSelf){ jQuery(this.input).validateSelf(); } }else{ //数据无变化不做处理 } } this.oldvalue=null; }catch(e){alert(e.message)} }; $keyboard.display=function (){ if(this.hidetimeout!=null){ $clear(this.hidetimeout); } var key=$(this.name+this.input.id); var ns=this.numbers; var format=this.input.getAttribute("pa_keyboard"); if(format==null){ format="random"; }; if(!$defined(key)||"random".equalsIgnoreCase(format)){ if("random".equalsIgnoreCase(format)){ ns=this.random(ns); }if($defined(key)){ key.style.display=""; }else { var event=new Element(this.input); var coord=event.getCoordinates(); var x=(coord.right-coord.width-80)+"px"; var y=(coord.top+coord.height)+"px"; key=new Element("div",{ styles:{ left:x,top:y,position:"absolute",zIndex:1000 } }).addClass(this.name).injectInside(document.body); key.onselectstart=function (){ return false; }; key.onselect=function (){ document.selection.empty(); }; key.id=this.name+this.input.id; key.addClass(this.name); } this.object=key; bgiframe(key); var html='