/* JavaScript Virtual Keyboard (numpad variant), version 2.7
* (compressed with ESC: http://www.saltstorm.net/depo/esc/)
*
* Copyright (C) 2006-2008 Dmitriy Khudorozhkov (mailto:dmitrykhudorozhkov@yahoo.com)
*
* This software is provided "as-is", without any express or implied warranty.
* In no event will the author be held liable for any damages arising from the
* use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source distribution.
*/
function VNumpad($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n){return this.$0i($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n);};VNumpad.kbArray=[];VNumpad.prototype={$o:function($p,$q,$r){return($p.attachEvent?$p.attachEvent("on"+$q,$r):(($p.addEventListener)?$p.addEventListener($q,$r,false):null));},$s:function($t){function getColor($u,$v,$w){if(/rgb\((\d+),\s(\d+),\s(\d+)\)/.exec($u)){switch($v){case 1:return parseInt(RegExp.$1,10);case 2:return parseInt(RegExp.$2,10);case 3:return parseInt(RegExp.$3,10);default:return 0;}}else return $u.length==4?parseInt($u.substr($v,1)+$u.substr($v,1),16):parseInt($u.substr($w,2),16);};function getR($x){return getColor($x,1,1);};function getG($x){return getColor($x,2,3);};function getB($x){return getColor($x,3,5);};var el=$t.time?$t:($t.company&&$t.company.time?$t.company:null);if(el){el.time=0;clearInterval(el.timer);};var $y=this;var $z=$y.fontcolor,$A=$y.keycolor,$B=$y.bordercolor;if($t.dead)$z=$y.deadcolor;if((($t.innerHTML=="Shift")&&$y.Shift)||(($t.innerHTML=="Caps")&&$y.Caps)||(($t.innerHTML=="AltGr")&&$y.AltGr))$A=$y.lic;var fr=getR($z),fg=getG($z),fb=getB($z);var kr=getR($A),kg=getG($A),kb=getB($A);var br=getR($B),bg=getG($B),bb=getB($B);var $C=getR($y.cfc),$D=getG($y.cfc),$E=getB($y.cfc);var $F=getR($y.cbg),$G=getG($y.cbg),$H=getB($y.cbg);var $I=getR($y.cbr),$J=getG($y.cbr),$K=getB($y.cbr);var $L=function(){function dec2hex($M){var $N="0123456789ABCDEF";var a=$M%16;var b=($M-a)/16;return $N.charAt(b)+$N.charAt(a)+"";};$t.time=!$t.time?10:($t.time-1);function calc_color($O,end){return(end -($t.time/10)*(end -$O));};var $P=calc_color($C,fr),$Q=calc_color($D,fg),$R=calc_color($E,fb);var $S=calc_color($F,kr),$T=calc_color($G,kg),$U=calc_color($H,kb);var $V=calc_color($I,br),$W=calc_color($J,bg),$X=calc_color($K,bb);$t.style.color="#"+dec2hex($P)+dec2hex($Q)+dec2hex($R);$t.style.borderColor="#"+dec2hex($V)+dec2hex($W)+dec2hex($X);$t.style.backgroundColor="#"+dec2hex($S)+dec2hex($T)+dec2hex($U);if(!$t.time){clearInterval($t.timer);return;}};$L();$t.timer=window.setInterval($L,50);},$Y:function($Z,top,$00,$01,$02,$03,$h,$f,$04,$05,$d,$06,$07,$08){var os=$Z.style;if(top)os.top=top;if($00)os.left=$00;if($01)os.width=$01;if($02)os.height=$02;if($03)os.position=$03;if($h)os.border="1px solid "+$h;if($f)os.backgroundColor=$f;if($04)os.textAlign=$04;if($05)os.lineHeight=$05;if($d)os.fontSize=$d;os.fontWeight=$06||"bold";if($07)os.paddingLeft=$07;if($08)os.paddingRight=$08;},$09:function(parent,id,top,$00,$01,$02,$h,$f,$04,$05,$d,$06,$07,$08){var $0a=this.Cntr.id+id;var $0b=document.getElementById($0a);var $0c=$0b?$0b.parentNode:document.createElement("DIV");this.$Y($0c,top,$00,$01,$02,"absolute");var $0d=$0b||document.createElement("DIV");$0c.appendChild($0d);parent.appendChild($0c);this.$Y($0d,"","","",$05,"relative",$h,$f,$04,$05,$d,$06,$07,$08);$0d.id=$0a;if(!$0b)this.$o($0d,'mouseup',this.$0R);return $0d;},$0e:function($Z){return($Z&&$Z.parentNode)?parseFloat($Z.parentNode.offsetLeft):0;},$0f:function($Z){return($Z&&$Z.parentNode)?parseFloat($Z.parentNode.offsetTop):0;},$0g:function($Z){return($Z&&$Z.parentNode)?parseFloat($Z.parentNode.offsetWidth):0;},$0h:function($Z){return($Z&&$Z.parentNode)?parseFloat($Z.parentNode.offsetHeight):0;},$0i:function($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n){var $0b=(this.Cntr!=undefined),ct=$0b?this.Cntr:document.getElementById($a);var $0j=($d&&($d!=this.fontsize));this.$0V=((typeof($b)=="function")&&(($b.length==1)||($b.length==2)))?$b:(this.$0V||null);var ff=$c||this.fontname||"";var fs=$d||this.fontsize||"14px";var fc=$e||this.fontcolor||"#000";var bg=$f||this.bgcolor||"#FFF";var kc=$g||this.keycolor||"#FFF";var bc=$h||this.bordercolor||"#777";this.cfc=$j||this.cfc||"#CC3300";this.cbg=$k||this.cbg||"#FF9966";this.cbr=$l||this.cbr||"#CC3300";this.sc=($i==undefined)?((this.sc==undefined)?false:this.sc):$i;this.gap=($n!=undefined)?($n?1:-1):(this.gap||1);this.fontname=ff,this.fontsize=fs,this.fontcolor=fc;this.bgcolor=bg,this.keycolor=kc,this.bordercolor=bc;if(!$0b){this.Cntr=ct,this.LastKey=null;VNumpad.kbArray[$a]=this;};var kb=$0b?ct.childNodes[0]:document.createElement("DIV");if(!$0b){ct.appendChild(kb);ct.style.display="block";ct.style.zIndex=999;if($m)ct.style.position="relative";else{ct.style.position="absolute";var $0k=0,$0l=ct;if($0l.offsetParent){while($0l.offsetParent){$0k+=$0l.offsetLeft;$0l=$0l.offsetParent;}}else if($0l.x)$0k+=$0l.x;var $0m=0;$0l=ct;if($0l.offsetParent){while($0l.offsetParent){$0m+=$0l.offsetTop;$0l=$0l.offsetParent;}}else if($0l.y)$0m+=$0l.y;ct.style.top=$0m+"px",ct.style.left=$0k+"px";};kb.style.position="relative";kb.style.top="0px",kb.style.left="0px";};kb.style.border="1px solid "+bc;var $0n=$0b?kb.childNodes[0]:document.createElement("DIV"),ks=$0n.style;if(!$0b){kb.appendChild($0n);ks.position="relative";ks.width="1px";ks.cursor="default";};this.$o($0n,"selectstart",function(event){return false;});this.$o($0n,"mousedown",function(event){if(event.preventDefault)event.preventDefault();return false;});ks.fontFamily=ff,ks.backgroundColor=bg;if(!$0b||$0j){ks.width=this.$0o($a,$0n);ks.height=(this.$0f(this.LastKey)+this.$0h(this.LastKey)+this.gap)+"px";};return this;},$0o:function($a,parent){var c="center",n="normal",l="left",$0p=this.gap;var fs=this.fontsize,kc=this.keycolor,bc=this.bordercolor;var $0q=parseFloat(fs)/14.0,$0r=Math.floor(25.0*$0q);var $0s=2*$0r,dp=($0s+1)+"px",$0t=($0s-1-(($0p<0)?2:0))+"px";var cp=String($0r)+"px",lh=String(Math.floor($0r-2.0))+"px";var $0u=$0p+"px";var $0v=this.$09(parent,"___pad_eur",$0p+"px",$0u,cp,cp,bc,kc,c,lh,fs);$0v.innerHTML="€";var $0w=(this.$0e($0v)+this.$0g($0v)+$0p)+"px";var $0x=this.$09(parent,"___pad_slash",$0p+"px",$0w,cp,cp,bc,kc,c,lh,fs);$0x.innerHTML="/";var $0y=(this.$0e($0x)+this.$0g($0x)+$0p)+"px";var $0z=this.$09(parent,"___pad_star",$0p+"px",$0y,cp,cp,bc,kc,c,lh,fs);$0z.innerHTML="*";var $0A=(this.$0e($0z)+this.$0g($0z)+$0p)+"px";var $0B=this.$09(parent,"___pad_minus",$0p+"px",$0A,cp,cp,bc,kc,c,lh,fs);$0B.innerHTML="-";this.kbpM=this.$0e($0B)+this.$0g($0B)+$0p;var $0C=this.$0h($0v),$0D=(this.$0f($0v)+$0C+$0p)+"px";var $0E=this.$09(parent,"___pad_7",$0D,$0u,cp,cp,bc,kc,c,lh,fs);$0E.innerHTML="7";var $0F=this.$09(parent,"___pad_8",$0D,$0w,cp,cp,bc,kc,c,lh,fs);$0F.innerHTML="8";var $0G=this.$09(parent,"___pad_9",$0D,$0y,cp,cp,bc,kc,c,lh,fs);$0G.innerHTML="9";var $0H=this.$09(parent,"___pad_plus",$0D,$0A,cp,dp,bc,kc,c,$0t,fs);$0H.innerHTML="+";$0D=(this.$0f($0E)+$0C+$0p)+"px";var $0I=this.$09(parent,"___pad_4",$0D,$0u,cp,cp,bc,kc,c,lh,fs);$0I.innerHTML="4";var $0J=this.$09(parent,"___pad_5",$0D,$0w,cp,cp,bc,kc,c,lh,fs);$0J.innerHTML="5";var $0K=this.$09(parent,"___pad_6",$0D,$0y,cp,cp,bc,kc,c,lh,fs);$0K.innerHTML="6";$0D=(this.$0f($0I)+$0C+$0p)+"px";var $0L=this.$09(parent,"___pad_1",$0D,$0u,cp,cp,bc,kc,c,lh,fs);$0L.innerHTML="1";var $0M=this.$09(parent,"___pad_2",$0D,$0w,cp,cp,bc,kc,c,lh,fs);$0M.innerHTML="2";var $0N=this.$09(parent,"___pad_3",$0D,$0y,cp,cp,bc,kc,c,lh,fs);$0N.innerHTML="3";var $0O=this.$09(parent,"___pad_enter",$0D,$0A,cp,dp,bc,kc,c,$0t,parseFloat(fs)*0.643,n);$0O.innerHTML="Enter";$0D=(this.$0f($0L)+$0C+$0p)+"px";var $0P=this.$09(parent,"___pad_0",$0D,$0u,dp,cp,bc,kc,l,lh,fs,"",7*$0q+"px");$0P.innerHTML="0";var $0Q=this.$09(parent,"___pad_period",$0D,$0y,cp,cp,bc,kc,c,lh,fs);$0Q.innerHTML=".";this.LastKey=$0Q;return String(this.$0e($0B)+this.$0g($0B)+$0p)+"px";},$0R:function(event){var e=event||window.event;var $t=e.srcElement||e.target;var $a=$t.id.substring(0,$t.id.indexOf("___"));var $0S=VNumpad.kbArray[$a];if($0S.sc)$0S.$s($t);if($0S.$0V)$0S.$0V($t.innerHTML,$0S.Cntr.id);},SetParameters:function(){var l=arguments.length;if(!l||(l%2!=0))return false;var p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,$0T;while(--l>0){var $0U=arguments[l];switch(arguments[l-1]){case "callback":p0=((typeof($0U)=="function")&&(($0U.length==1)||($0U.length==2)))?$0U:this.$0V;break;case "font-name":p1=$0U;break;case "font-size":p2=$0U;break;case "font-color":p3=$0U;break;case "base-color":p4=$0U;break;case "key-color":p5=$0U;break;case "border-color":p6=$0U;break;case "show-click":p7=$0U;break;case "click-font-color":p8=$0U;break;case "click-key-color":p9=$0U;break;case "click-border-color":$0T=$0U;break;default:break;};l-=1;};this.$0i(this.Cntr.id,p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,$0T);return true;},Show:function($0U){var ct=this.Cntr.style;ct.display=(($0U==undefined)||($0U==true))?"block":(($0U==false)?"none":ct.display);}};