// vkb_load.js of Cyrillic Virtual Keyboard (see http://RusWin.net/scrdoc_e.htm) // Change Path to vkb folder (below) _if necessary_, f.e. to "/vkb/" - child of root directory // ИзменИте путь к папке vkb (см. ниже) _если нужно_, например на "/vkb/" - папка vkb в корневом каталоге // same can be done in .HTML via parameter vkb_Path (see readme_e.htm) // то же самое можно сделать, задав в .HTML параметр vkb_Path (см. readme_r.htm) if (typeof vkb_Path == 'undefined') vkb_Path = "vkb/"; // Folder vkb - under a folder with a Keyboard's page // Папка vkb - под-каталог того каталога, где лежит страница с Клавиатурой // Виртуальная Клавиатура. Павел Городянский (см. http://RusWin.net/scrdoc_r.htm) // ** this file is in Cyrillic windows-1251 encoding // ** этот файл - в кодировке Cyrillic windows-1251 // // The encoding MUST be specified in HTML file which loads this .js // Поэтому кодировка должна быть указана в том HTML файле, который загружает данный .js: // // // vkb_JSwasLoaded = true; var vkb_JScookieWasLoaded = false; var vkb_cookieName = "vkb_KbdVariant"; var vkb_Netscape, vkb_MSIE, vkb_Opera, vkb_Unknown, vkb_NN1, vkb_NN2, vkb_Ffox=false, vkb_n, vkb_Br = "0"; var vkb_Win, vkb_Mac, vkb_Other, vkb_NetscapeVer, vkb_MSIEVer, vkb_OperaVer=0, vkb_strOperaPos, vkb_NetscapeOK; vkb_Netscape = navigator.appName == "Netscape"; vkb_MSIE = navigator.appName == "Microsoft Internet Explorer"; vkb_Opera = navigator.userAgent.indexOf("Opera") > -1; vkb_Unknown = !(vkb_Netscape || vkb_MSIE || vkb_Opera); vkb_NetscapeOK = false; vkb_Win = navigator.userAgent.indexOf("Win") > -1; vkb_Mac = navigator.userAgent.indexOf("Mac") > -1; vkb_Other = !(vkb_Win || vkb_Mac); if(vkb_Netscape) { vkb_NetscapeVer = parseFloat(navigator.appVersion); if (vkb_NetscapeVer>4) { vkb_n = navigator.userAgent; if (vkb_n.indexOf("Netscape/") != -1) {vkb_NN1 = vkb_n.substr(vkb_n.indexOf("Netscape/")+9); vkb_NN1 = parseFloat(vkb_NN1); } vkb_NN1 = vkb_n.substr(vkb_n.indexOf("rv:")+3); vkb_NN1 = parseFloat(vkb_NN1); if (vkb_NN1 >= "1.3") vkb_NetscapeOK = true; } if (vkb_NetscapeOK) { vkb_Br="NN"; if (vkb_n.indexOf("Firefox") != -1) vkb_Ffox = true; } } else if(vkb_MSIE) { vkb_n = navigator.userAgent; vkb_MSIEVer = vkb_n.substr(vkb_n.indexOf("MSIE ")+("MSIE ").length, 4); vkb_MSIEVer = parseFloat(vkb_MSIEVer); if(vkb_Opera) { vkb_strOperaPos = vkb_n.indexOf("Opera/"); // "Opera ", "Opera/" if (vkb_strOperaPos == -1) vkb_OperaVer = vkb_n.substr(vkb_n.indexOf("Opera ")+("Opera ").length, 4); else vkb_OperaVer = vkb_n.substr(vkb_strOperaPos + ("Opera/").length, 4); vkb_OperaVer = parseFloat(vkb_OperaVer); } else vkb_Br = "IE"; } else if(vkb_Opera) { // Opera as "Opera" vkb_n = navigator.userAgent; vkb_strOperaPos = vkb_n.indexOf("Opera/"); // "Opera " or "Opera/" if (vkb_strOperaPos == -1) vkb_OperaVer = vkb_n.substr(vkb_n.indexOf("Opera ")+("Opera ").length, 4); else vkb_OperaVer = vkb_n.substr(vkb_strOperaPos + ("Opera/").length, 4); vkb_OperaVer = parseFloat(vkb_OperaVer); } // parameter defaults: if (typeof vkb_InterfaceLanguage == 'undefined') vkb_InterfaceLanguage = "R"; if (typeof vkb_KbdVariant == 'undefined') vkb_KbdVariant = "0"; if (typeof vkb_Variant == 'undefined') vkb_Variant = 2; if (typeof vkb_Fix == 'undefined') vkb_Fix = false; if (typeof vkb_InitShow == 'undefined') vkb_InitShow = false; if (typeof vkb_Layouts == 'undefined') vkb_Layouts = true; if (typeof vkb_Copyright == 'undefined') vkb_Copyright = true; if (typeof vkb_Phonetic == 'undefined') vkb_Phonetic = true; if (typeof vkb_Help == 'undefined') vkb_Help = true; var vkb_HelpPos1, vkb_HelpPos2, vkb_PrevClickShift=false, vkb_1st_InitShow; if (vkb_Variant < 3) { //vkb_HelpPos1=80; vkb_HelpPos2=50; vkb_HelpPos1=-30; vkb_HelpPos2=50; if (vkb_Fix) document.write("
"); else document.write(""); } else { // vkb_HelpPos1=-150; vkb_HelpPos2=150; vkb_HelpPos1=-50; vkb_HelpPos2=50; } var vkb_JSnonUSwasLoaded = false, vkb_showWrongBrowserOnce=false, vkb_isInitDone = false; var vkb_JS_PhoneticWasLoaded = false; var vkb_PicTagLay, vkb_PicTag, vkb_CyrFromKbd, vkb_MsgButtonStr, vkb_KbdPhysical, vkb_KbdVariantNumber, vkb_curImage, vkb_fName, vkb_WrongBr, vkb_ShowKbdVariantsMenu; var vkb_KbdVariantNonDefault=false; // no parameter var vkb_buildHTMLlater=false, vkb_UseVirtKbd=false; var vkb_txtType=0; var vkb_keySwitch = ""; var vkb_numInputTypeTextFields=0; var vkb_numInputFields=0; var vkb_radioSwitchKbd0, vkb_radioSwitchKbd1, vkb_SlayoutsItem, vkb_FlayoutsItem, vkb_LatinItem, vkb_KeyboardsItem; var vkb_txtControl = null; var vkb_1st=true; function vkb_loadJs(obj, jsFileName) { var script1 = document.createElement('script'); script1.type = 'text/javascript'; script1.charset = 'windows-1251'; script1.src = jsFileName; obj.appendChild(script1); } function vkb_loadHeadCss(obj, cssFileName) { var link1 = document.createElement('link'); link1.type = "text/css"; link1.rel = "stylesheet"; link1.href = cssFileName; obj.appendChild(link1); } function vkb_createHeadStyle(obj, stHTML) { var style1 = document.createElement('style'); style1.type = "text/css"; style1.innerHTML=stHTML; obj.appendChild(style1); } var vkb_headObj = document.getElementsByTagName('head')[0]; if (vkb_Ffox) { var stHTML=".vkb_IEbutton {color: #000000;background-color: #b5c9e2;}"+ "\n.vkb_IEbutton2 {color: #000000;background-color: #b5c9e2;}"+ "\n.vkb_IEbutton3 {margin-bottom: -1em; color: #000000; background-color: #b5c9e2;}"+ "\n.vkb_button2{color: #000000;font-size: 10px;font-family: verdana, monospace;background-color: #999900;}"+ "\n.vkb_short{MARGIN-BOTTOM: 0px;}\n.vkb_short1{MARGIN-BOTTOM: 0px; MARGIN-TOP: 5px;}"+ "\n.vkb_tip {font: 12px Arial,Helvetica,sans-serif;border:solid 1px #666666;width:270px;padding:4px;z-index:100;"+ "position:absolute;visibility:hidden;color:#000000;top:20px;left:90px;background-color:#ffffcc;}"; if (vkb_Fix) stHTML= stHTML + "\nbody > div#vkb_Layer {position: fixed; right: 20px; top: 10px;}"; vkb_createHeadStyle(vkb_headObj, stHTML); } else { vkb_loadHeadCss(vkb_headObj, vkb_Path+"vkb.css"); if (vkb_Br=="IE" && !vkb_Opera) vkb_loadHeadCss(vkb_headObj, vkb_Path+"vkb_ie.css"); vkb_loadHeadCss(vkb_headObj, vkb_Path+"vkb_tip.css"); if (vkb_Fix) {vkb_loadHeadCss(vkb_headObj, vkb_Path+"vkbfix.css"); if (vkb_Br=="IE" && !vkb_Opera) vkb_loadHeadCss(vkb_headObj, vkb_Path+"vkbfixie.css");} } function vkb_findPosX(obj) { var curleft = 0; if (obj.offsetParent) { while (obj.offsetParent) {curleft += obj.offsetLeft; obj = obj.offsetParent;} } else if (obj.x) curleft += obj.x; return curleft; } function vkb_findPosY(obj) { var curtop = 0; if (obj.offsetParent) { while (obj.offsetParent) {curtop += obj.offsetTop; obj = obj.offsetParent;} } else if (obj.y) curtop += obj.y; return curtop; } function vkb_mouseX(evt) {if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft); else return null;} function vkb_mouseY(evt) {if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return null;} function vkb_pw() {return window.innerWidth != null? window.innerWidth: document.body.clientWidth != null? document.body.clientWidth:null;} function vkb_popUp(evt,popupObjID,elID, t,l) { if (vkb_KbdVariant == '29') return; var myObj=document.getElementById(elID); var toppos = vkb_findPosY(myObj)+ (t); var leftpos = vkb_findPosX(myObj)+ (l); var wp = vkb_pw(); var vkb_popupObjStyle = document.getElementById(popupObjID).style; var vkb_popupObj = document.getElementById(popupObjID); var vkb_popupObjVisibility; if (vkb_popupObjStyle.visibility != 'undefined') { if (vkb_popupObjStyle.visibility == "") vkb_popupObjVisibility ="hidden"; else vkb_popupObjVisibility = vkb_popupObjStyle.visibility; } else vkb_popupObjVisibility ="hidden"; if (vkb_popupObj.offsetWidth) ew = vkb_popupObj.offsetWidth; else if (vkb_popupObj.clip.width) ew = vkb_popupObj.clip.width; if (vkb_popupObjVisibility == "visible" || vkb_popupObjVisibility == "show") vkb_popupObjStyle.visibility = "hidden"; else { tv = toppos + 20; lv = leftpos - (ew/4); if (lv < 2) lv = 2; else if (lv + ew > wp) lv -= ew/2; lv += 'px';tv += 'px'; vkb_popupObjStyle.left = lv; vkb_popupObjStyle.top = tv; vkb_popupObjStyle.visibility = "visible"; } } function vkb_start(e) { if (vkb_InitShow) vkb_1st_InitShow = true; if(vkb_1st) { var mDiv_WaitMsg = document.getElementById("vkb_tempDiv"); var tHTML=""; var tMsg = (vkb_InterfaceLanguage == 'E') ? " (happens only first time) |
(только первый раз надо ждать)