var a;
function Board(b,f){this.fnCapsLockAct=this.fnDelAct=this.fnEnterAct=this.szOverKeyBgColor=this.szBGColor=this.stLvlMsgInfo=this.nLvl=this.szFormID=this.bDefLayout=this.szBoardId=null;this.setDefProperties();if(b)this.setConfigs(this,b);else{alert("Input properties is empty!");return false}this.stConfigs=this.getDefBoardConfigs();f&&this.setConfigs(this.stConfigs,f);this.stTarget=null;this.rgContainers=[];this.rgMaskContainers=[];this.rgDigitKeys=[];this.rgAbtKeys=[];this.rgSplKeys=[];this.rgCtrlKeys=[];
this.rgSpcKeys=[];this.bCapsLockKeyPressed=this.bShiftKeyPressed=false;this.stBoardElmt=document.getElementById(this.szBoardId);if(!this.stBoardElmt){alert('There is not "'+this.szBoardId+'"!');return false}if(this.bDefLayout)this.stBoardElmt.innerHTML=this.getDefKeyboardLayout();this.stConfigs.bDigitKey&&this.generate(this.stConfigs.stDigitKey,this.rgDigitKeys);this.stConfigs.bAbtKey&&this.generate(this.stConfigs.stAbtKey,this.rgAbtKeys);this.stConfigs.bSplKey&&this.generate(this.stConfigs.stSplKey,
this.rgSplKeys);this.stConfigs.bCtrlKey&&this.generate(this.stConfigs.stCtrlKey,this.rgCtrlKeys);this.stConfigs.bSpcKey&&this.generate(this.stConfigs.stSpcKey,this.rgSpcKeys)}a=Board.prototype;a.setDefProperties=function(){this.bDefLayout=true;this.nLvl=1;this.stLvlMsgInfo=this.getLvlMsgInfo();this.szBGColor="#7D7D7D";this.szOverKeyBgColor="#33CCFF"};
a.getDefKeyboardLayout=function(){return['<div style="position:absolute; display:none; background-color:',this.szBGColor,';" id="',this.szBoardId,'_keyboard"><table border="0" cellspacing="1" cellpadding="0"><tr><td id="',this.szBoardId,'_bar" height="22" style="background:url(/img/v45_osk/bannerBg.jpg);"><img id="',this.szBoardId,'_close" src="/img/v45_osk/btn_close.jpg" style="padding:3px 2px 0px 0px; cursor:pointer; float:right;"><div nowrap style="padding:3px 0px 0px 2px; text-align:left; overflow:hidden; white-space:nowrap;"><img id="',
this.szBoardId,'_close_ico" src="/img/v45_osk/ico_keyboard.jpg"></div></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td style="padding-left:3px; color:white; font-size: 12px; font-style: normal;">',this.stLvlMsgInfo.TITLE,'&nbsp;<input type="radio" name="',this.szBoardId,'_level" value="1">',,this.stLvlMsgInfo.LVL1,'&nbsp;<input type="radio" name="',this.szBoardId,'_level" value="2">',this.stLvlMsgInfo.LVL2,'&nbsp;<input type="radio" name="',this.szBoardId,'_level" value="3">',
this.stLvlMsgInfo.LVL3,'&nbsp;<input type="radio" name="',this.szBoardId,'_level" value="4">',this.stLvlMsgInfo.LVL4,'</td></tr></table></td></tr><tr><td><table border="0" cellspacing="0" cellpadding="1"><tr><td id="',this.szBoardId,'_d01"></td><td id="',this.szBoardId,'_d02"></td><td id="',this.szBoardId,'_d03"></td><td id="',this.szBoardId,'_d04"></td><td id="',this.szBoardId,'_d05"></td><td id="',this.szBoardId,'_d06"></td><td id="',this.szBoardId,'_d07"></td><td id="',this.szBoardId,'_d08"></td><td id="',
this.szBoardId,'_d09"></td><td id="',this.szBoardId,'_d10"></td><td id="',this.szBoardId,'_delete" rowspan="2"></td></tr><tr><td id="',this.szBoardId,'_s01"></td><td id="',this.szBoardId,'_s02"></td><td id="',this.szBoardId,'_s03"></td><td id="',this.szBoardId,'_s04"></td><td id="',this.szBoardId,'_s05"></td><td id="',this.szBoardId,'_s06"></td><td id="',this.szBoardId,'_s07"></td><td id="',this.szBoardId,'_s08"></td><td id="',this.szBoardId,'_s09"></td><td id="',this.szBoardId,'_s10"></td></tr><tr><td id="',
this.szBoardId,'_s11"></td><td id="',this.szBoardId,'_s12"></td><td id="',this.szBoardId,'_s13"></td><td id="',this.szBoardId,'_s14"></td><td id="',this.szBoardId,'_s15"></td><td id="',this.szBoardId,'_s16"></td><td id="',this.szBoardId,'_s17"></td><td id="',this.szBoardId,'_s18"></td><td id="',this.szBoardId,'_s19"></td><td id="',this.szBoardId,'_s20"></td><td id="',this.szBoardId,'_capslock" rowspan="2"></td></tr><tr><td id="',this.szBoardId,'_s21"></td><td id="',this.szBoardId,'_s22"></td><td id="',
this.szBoardId,'_s23"></td><td id="',this.szBoardId,'_s24"></td><td id="',this.szBoardId,'_s25"></td><td id="',this.szBoardId,'_s26"></td><td id="',this.szBoardId,'_s27"></td><td id="',this.szBoardId,'_s28"></td><td id="',this.szBoardId,'_s29"></td><td id="',this.szBoardId,'_s30"></td></tr><tr><td id="',this.szBoardId,'_a01"></td><td id="',this.szBoardId,'_a02"></td><td id="',this.szBoardId,'_a03"></td><td id="',this.szBoardId,'_a04"></td><td id="',this.szBoardId,'_a05"></td><td id="',this.szBoardId,
'_a06"></td><td id="',this.szBoardId,'_a07"></td><td id="',this.szBoardId,'_a08"></td><td id="',this.szBoardId,'_s31"></td><td id="',this.szBoardId,'_s32"></td><td id="',this.szBoardId,'_enter" rowspan="2"></td></tr><tr><td id="',this.szBoardId,'_a09"></td><td id="',this.szBoardId,'_a10"></td><td id="',this.szBoardId,'_a11"></td><td id="',this.szBoardId,'_a12"></td><td id="',this.szBoardId,'_a13"></td><td id="',this.szBoardId,'_a14"></td><td id="',this.szBoardId,'_a15"></td><td id="',this.szBoardId,
'_a16"></td><td id="',this.szBoardId,'_a17"></td><td id="',this.szBoardId,'_a18"></td></tr></table><table border="0" cellspacing="0" cellpadding="1"><tr><td id="',this.szBoardId,'_a19"></td><td id="',this.szBoardId,'_a20"></td><td id="',this.szBoardId,'_space"></td><td id="',this.szBoardId,'_a21"></td><td id="',this.szBoardId,'_a22"></td><td id="',this.szBoardId,'_a23"></td><td id="',this.szBoardId,'_a24"></td><td id="',this.szBoardId,'_a25"></td><td id="',this.szBoardId,'_a26"></td></tr></table></td></tr></table></div>'].join("")};
a.getLvlMsgInfo=function(){var b=null;return b=typeof ON_SCREEN_KEYBOARD!="undefined"?ON_SCREEN_KEYBOARD:{TITLE:"Security Strength:",LVL1:"Low",LVL2:"Middle",LVL3:"High",LVL4:"Strong"}};a.open=function(){var b=document.getElementById(this.szBoardId+"_keyboard");this.stBoardElmt.style.display="";if(b){b.style.display="";this.bRendered||this.render()}};a.close=function(){var b=document.getElementById(this.szBoardId+"_keyboard");this.stBoardElmt.style.display="none";if(b)b.style.display="none"};
a.setConfigs=function(b,f){if(b&&f)for(i in f)if(typeof b[i]!="undefined")if(typeof f[i]=="object")this.setConfigs(b[i],f[i]);else b[i]=f[i]};
a.getDefBoardConfigs=function(){function b(){var g=null;if(this.stBoard.szFormID)(g=document.getElementById(this.stBoard.szFormID))&&g.submit()}function f(){if(this.stBoard.stTarget)this.stBoard.stTarget.value=this.stBoard.stTarget.value.substr(0,this.stBoard.stTarget.value.length-1)}function e(){this.bShifted=!this.stBoard.bCapsLockKeyPressed;this.bDirty=true;this.stBoard.capsLock()}var d={},c=this.szBoardId;d.nHideRadius=40;d.bDigitKey=true;d.stDigitKey={};d.stDigitKey.bRandable=true;d.stDigitKey.bMaskable=
true;d.stDigitKey.bShiftable=false;d.stDigitKey.rgImgInfo=["Digit","/img/v45_osk/digits.jpg",319,22,29];d.stDigitKey.rgDownImgInfo=["DigitDown","/img/v45_osk/digits_down.jpg",319,22,29];d.stDigitKey.rgKeysInfo=[[c+"_d01",1,"1",null,null,0,null],[c+"_d02",2,"2",null,null,0,null],[c+"_d03",3,"3",null,null,0,null],[c+"_d04",4,"4",null,null,0,null],[c+"_d05",5,"5",null,null,0,null],[c+"_d06",6,"6",null,null,0,null],[c+"_d07",7,"7",null,null,0,null],[c+"_d08",8,"8",null,null,0,null],[c+"_d09",9,"9",null,
null,0,null],[c+"_d10",10,"0",null,null,0,null],null];d.bAbtKey=true;d.stAbtKey={};d.stAbtKey.bRandable=true;d.stAbtKey.bMaskable=true;d.stAbtKey.bShiftable=true;d.stAbtKey.rgImgInfo=["Aphabet","/img/v45_osk/alphabets.jpg",1537,22,29];d.stAbtKey.rgDownImgInfo=["AphabetDown","/img/v45_osk/alphabets_down.jpg",1537,22,29];d.stAbtKey.rgKeysInfo=[[c+"_a01",1,"a",27,"A",0,null],[c+"_a02",2,"b",28,"B",0,null],[c+"_a03",3,"c",29,"C",0,null],[c+"_a04",4,"d",30,"D",0,null],[c+"_a05",5,"e",31,"E",0,null],[c+
"_a06",6,"f",32,"F",0,null],[c+"_a07",7,"g",33,"G",0,null],[c+"_a08",8,"h",34,"H",0,null],[c+"_a09",9,"i",35,"I",0,null],[c+"_a10",10,"j",36,"J",0,null],[c+"_a11",11,"k",37,"K",0,null],[c+"_a12",12,"l",38,"L",0,null],[c+"_a13",13,"m",39,"M",0,null],[c+"_a14",14,"n",40,"N",0,null],[c+"_a15",15,"o",41,"O",0,null],[c+"_a16",16,"p",42,"P",0,null],[c+"_a17",17,"q",43,"Q",0,null],[c+"_a18",18,"r",44,"R",0,null],[c+"_a19",19,"s",45,"S",0,null],[c+"_a20",20,"t",46,"T",0,null],[c+"_a21",21,"u",47,"U",0,null],
[c+"_a22",22,"v",48,"V",0,null],[c+"_a23",23,"w",49,"W",0,null],[c+"_a24",24,"x",50,"X",0,null],[c+"_a25",25,"y",51,"Y",0,null],[c+"_a26",26,"z",52,"Z",0,null],null];d.bSplKey=true;d.stSplKey={};d.stSplKey.bRandable=true;d.stSplKey.bMaskable=true;d.stSplKey.bShiftable=false;d.stSplKey.rgImgInfo=["Special","/img/v45_osk/specials.jpg",957,22,29];d.stSplKey.rgDownImgInfo=["SpecialDown","/img/v45_osk/specials_down.jpg",957,22,29];d.stSplKey.rgKeysInfo=[[c+"_s01",1,"!",null,null,0,null],[c+"_s02",2,'"',
null,null,0,null],[c+"_s03",3,"#",null,null,0,null],[c+"_s04",4,"$",null,null,0,null],[c+"_s05",5,"%",null,null,0,null],[c+"_s06",6,"&",null,null,0,null],[c+"_s07",7,"'",null,null,0,null],[c+"_s08",8,"(",null,null,0,null],[c+"_s09",9,")",null,null,0,null],[c+"_s10",10,"*",null,null,0,null],[c+"_s11",11,"+",null,null,0,null],[c+"_s12",12,",",null,null,0,null],[c+"_s13",13,"-",null,null,0,null],[c+"_s14",14,".",null,null,0,null],[c+"_s15",15,"/",null,null,0,null],[c+"_s16",16,":",null,null,0,null],
[c+"_s17",17,"<",null,null,0,null],[c+"_s18",18,"=",null,null,0,null],[c+"_s19",19,">",null,null,0,null],[c+"_s20",20,"?",null,null,0,null],[c+"_s21",21,"@",null,null,0,null],[c+"_s22",22,"[",null,null,0,null],[c+"_s23",23,"\\",null,null,0,null],[c+"_s24",24,"]",null,null,0,null],[c+"_s25",25,"^",null,null,0,null],[c+"_s26",26,"_",null,null,0,null],[c+"_s27",27,"`",null,null,0,null],[c+"_s28",28,"{",null,null,0,null],[c+"_s29",29,"|",null,null,0,null],[c+"_s30",30,"}",null,null,0,null],[c+"_s31",
31,";",null,null,0,null],[c+"_s32",32,"~",null,null,0,null],null];d.bCtrlKey=true;d.stCtrlKey={};d.stCtrlKey.bRandable=false;d.stCtrlKey.bMaskable=false;d.stCtrlKey.bShiftable=false;d.stCtrlKey.rgImgInfo=["Ctrl","/img/v45_osk/controls.jpg",188,46,47];d.stCtrlKey.rgDownImgInfo=["CtrlDown","/img/v45_osk/controls_down.jpg",188,46,47];d.stCtrlKey.rgKeysInfo=[[c+"_enter",2,null,null,null,null,this.fnEnterAct!=null?this.fnEnterAct:b],[c+"_delete",0,null,null,null,null,this.fnDelAct!=null?this.fnDelAct:
f],[c+"_capslock",1,null,3,null,null,this.fnCapsLockAct!=null?this.fnCapsLockAct:e],null];d.bSpcKey=true;d.stSpcKey={};d.stSpcKey.bRandable=false;d.stSpcKey.bMaskable=false;d.stSpcKey.bShiftable=false;d.stSpcKey.rgImgInfo=["Space","/img/v45_osk/space.jpg",109,22,109];d.stSpcKey.rgDownImgInfo=["SpaceDown","/img/v45_osk/space_down.jpg",109,22,109];d.stSpcKey.rgKeysInfo=[[c+"_space",0," ",null,null,null,null],null];return d};
a.generate=function(b,f){var e,d,c,g,m,l,q,o,p,h=b.rgKeysInfo,j=b.rgImgInfo,k=b.rgDownImgInfo;CIconNew(j[0],j[1]);CIconSize(j[0],j[2],j[3],j[4],j[3]);CIconNew(k[0],k[1]);CIconSize(k[0],k[2],k[3],k[4],k[3]);c=h.length;for(e=0;e<c;e++)if(h[e]){d=document.getElementById(h[e][0]);if(!d){alert('There is not "'+h[e][0]+'"!');return false}b.bMaskable&&this.rgMaskContainers.push(d);d.onmouseover=containerMouseOverAct;d.onmouseout=containerMouseOutAct;this.rgContainers.push(d);g=CIconIndex(j[0],h[e][1]);g.style.display=
"block";if(h[e][3]!=null){m=CIconIndex(j[0],h[e][3]);m.style.display="block"}else m=null;if(h[e][5]!=null){l=CIconIndex(j[0],h[e][5]);l.style.display="block"}else l=null;q=CIconIndex(k[0],h[e][1]);q.style.display="block";if(h[e][3]!=null){o=CIconIndex(k[0],h[e][3]);o.style.display="block"}else o=null;if(h[e][5]!=null){p=CIconIndex(k[0],h[e][5]);p.style.display="block"}else p=null;f.push(new Key(this,d,g,q,h[e][2],m,o,h[e][4],l,p,h[e][6],b))}};
function containerMouseOverAct(){if(this.stKey.stConf.bMaskable){this.stKey.stBoard.setKeyDisplayFlags(this.stCoords);this.stKey.stBoard.refresh()}this.style.backgroundColor=this.stKey.stBoard.szOverKeyBgColor}function containerMouseOutAct(){if(this.stKey.stConf.bMaskable){var b,f,e=this.stKey.stBoard.rgContainers;f=e.length;for(b=0;b<f;b++)if(e[b].stKey.bDisplay==false){e[b].stKey.bDisplay=true;e[b].stKey.bDirty=true;e[b].stKey.display()}}this.style.backgroundColor=this.stKey.stBoard.szBGColor}
function getDistance(b,f){return Math.sqrt(Math.pow(b.x-f.x,2)+Math.pow(b.y-f.y,2))}a=Board.prototype;a.setKeyDisplayFlags=function(b){var f,e,d,c,g=this.rgContainers;e=g.length;for(f=0;f<e;f++){d=g[f].stKey;if(d.stConf.bMaskable){c=d.bDisplay;d.bDisplay=getDistance(b,g[f].stCoords)<this.stConfigs.nHideRadius?false:true;if(d.bDisplay!=c)d.bDirty=true}}};a.setKeyClickAct=function(b,f){var e=document.getElementById(b);if(!e){alert('There is not "'+b+'"!');return false}e.stKey.setClickAct(f)};
a.refresh=function(){var b,f,e=this.rgContainers;f=e.length;for(b=0;b<f;b++)e[b].stKey.display()};
a.render=function(){function b(m){for(var l=0;l<m.length;l++)m[l].render()}function f(){return c.close()}var e,d;b(this.rgDigitKeys);b(this.rgAbtKeys);b(this.rgSplKeys);b(this.rgCtrlKeys);b(this.rgSpcKeys);d=this.rgContainers.length;for(e=0;e<d;e++)this.rgContainers[e].stCoords=getObjCoords(this.rgContainers[e]);var c=this;e=document.getElementById(this.szBoardId+"_close");d=document.getElementById(this.szBoardId+"_close_ico");if(e)e.onclick=f;if(d)d.onclick=f;if(d=document.getElementsByName(this.szBoardId+
"_level")){var g=function(){return c.setLevel(parseInt(this.value))};for(e=0;e<d.length;e++)d[e].onclick=g;d[this.nLvl-1].checked=true}this.setLevel(this.nLvl);this.bRendered=true};a.setLevel=function(b){var f=false,e=false,d=0;if(!b)return false;this.nLvl=b;switch(this.nLvl){case 1:e=f=false;break;case 2:f=true;e=false;break;case 3:e=f=true;d=40;break;case 4:e=f=true;d=80;break;default:e=f=false}this.setAllRandable(f);this.setAllMaskable(e);e&&this.setMaskRadius(d);return true};
a.setTarget=function(b){this.stTarget=b};a.setMaskRadius=function(b){this.stConfigs.nHideRadius=b;this.refresh()};a.output=function(b){if(this.stTarget)this.stTarget.value+=b};
a.randArrange=function(b){function f(e){var d,c,g;c=e.length;for(d=0;d<c;d++){g=Math.random()*(c-1);g=Math.round(g);g!=d&&e[d].swapPosition(e[g])}}this.stConfigs.bDigitKey&&this.stConfigs.stDigitKey.bRandable&&f(this.rgDigitKeys);this.stConfigs.bAbtKey&&this.stConfigs.stAbtKey.bRandable&&f(this.rgAbtKeys);this.stConfigs.bSplKey&&this.stConfigs.stSplKey.bRandable&&f(this.rgSplKeys);this.stConfigs.bCtrlKey&&this.stConfigs.stCtrlKey.bRandable&&f(this.rgCtrlKeys);this.stConfigs.bSpcKey&&this.stConfigs.stSpcKey.bRandable&&
f(this.rgSpcKeys);b.stKey.stConf.bMaskable&&this.setKeyDisplayFlags(b.stCoords);this.refresh()};
a.shift=function(){function b(f){var e,d;d=f.length;for(e=0;e<d;e++){f[e].bShifted=!f[e].bShifted;f[e].bDirty=true}}this.bShiftKeyPressed=!this.bShiftKeyPressed;this.stConfigs.bDigitKey&&this.stConfigs.bShiftable&&b(this.rgDigitKeys);this.stConfigs.bAbtKey&&this.stConfigs.bShiftable&&b(this.rgAbtKeys);this.stConfigs.bSplKey&&this.stConfigs.bShiftable&&b(this.rgSplKeys);this.stConfigs.bCtrlKey&&this.stConfigs.bShiftable&&b(this.rgCtrlKeys);this.stConfigs.bSpcKey&&this.stConfigs.bShiftable&&b(this.rgSpcKeys);
this.refresh()};a.capsLock=function(){var b,f;this.bCapsLockKeyPressed=!this.bCapsLockKeyPressed;f=this.rgAbtKeys.length;for(b=0;b<f;b++){this.rgAbtKeys[b].bShifted=this.bCapsLockKeyPressed;this.rgAbtKeys[b].bDirty=true}this.refresh()};a.setAllRandable=function(b){this.stConfigs.stDigitKey.bRandable=b;this.stConfigs.stAbtKey.bRandable=b;this.stConfigs.stSplKey.bRandable=b};
a.setAllMaskable=function(b){this.stConfigs.stDigitKey.bMaskable=b;this.stConfigs.stAbtKey.bMaskable=b;this.stConfigs.stSplKey.bMaskable=b};
function Key(b,f,e,d,c,g,m,l,q,o,p,h){function j(){return n.clickAct()}function k(){n.bBtnDown=true;n.bDirty=true;n.display();return true}function r(){if(n.bBtnDown){n.bBtnDown=false;n.bDirty=true;n.display()}return true}this.stKeyDiv=document.createElement("div");this.stBoard=b;this.stDisplayImg=e;this.stDisplayDownImg=d;this.cKeyChar=c;this.bDisplay=true;this.bBtnDown=this.bShifted=false;this.bDirty=true;this.stConf=h;this.stContainer=f;this.stContainer.stKey=this;this.stHideImg=q?q:null;this.stHideDownImg=
o?o:null;this.stShiftDImg=g?g:null;this.stShiftDDownImg=m?m:null;this.clickAct=p?p:this.defClickAct;this.cShiftKChar=l?l:this.cKeyChar;var n=this;this.stKeyDiv.onclick=j;this.stKeyDiv.onmousedown=k;this.stKeyDiv.onmouseup=r;this.stKeyDiv.onmouseout=r;this.display()}a=Key.prototype;
a.display=function(){if(this.bDirty){if(this.bDisplay)if(this.bShifted)this.bBtnDown?this.copyDivStyle(this.stShiftDDownImg):this.copyDivStyle(this.stShiftDImg);else this.bBtnDown?this.copyDivStyle(this.stDisplayDownImg):this.copyDivStyle(this.stDisplayImg);else this.bBtnDown?this.copyDivStyle(this.stHideDownImg):this.copyDivStyle(this.stHideImg);this.bDirty=false}};
a.swapPosition=function(b){var f,e,d,c,g=["stDisplayImg","stDisplayDownImg","stShiftDImg","stShiftDDownImg","stHideImg","stHideDownImg","cKeyChar","cShiftKChar","bDisplay","bShifted","bDirty","clickAct"];e=g.length;for(f=0;f<e;f++){c=g[f];d=this[c];this[c]=b[c];b[c]=d}this.bDirty=true;b.bDirty=true};a.copyDivStyle=function(b){this.stKeyDiv.style.cssText=b.style.cssText};a.render=function(){this.stContainer&&!this.stContainer.stKeyDiv&&this.stContainer.appendChild(this.stKeyDiv)};
a.setClickAct=function(b){this.clickAct=b};a.defClickAct=function(){this.bShifted?this.stBoard.output(this.cShiftKChar):this.stBoard.output(this.cKeyChar);this.stBoard.randArrange(this.stContainer)};function Point(b,f){this.x=b;this.y=f}function getObjCoords(b){var f=0,e=0;if(b.offsetParent)for(;;){f+=b.offsetLeft;e+=b.offsetTop;if(!b.offsetParent)break;b=b.offsetParent}else if(b.x){f+=b.x;e+=b.y}return new Point(f,e)};

