/*** 一般登入的 Flash 鍵盤 這個檔案不能設 defer,有 document.write ***/ /***** 鍵盤輸入,對 id/password 檢查 *****/ var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1; /*** 記錄是在哪個 element 上 ****/ var focusCtr = 1; var focusObj; var isKbClosed = true; var isKbOpened = false; var closedCtr = 1; var kb_offset = 125; var lastCtr = 1; function ToUpperCase(obj) { obj.value = obj.value.toUpperCase(); } /*** 處理 Flash 影片中的所有 FSCommand 訊息。 ****/ function switchID(n,obj,id,last) { //window.status = "n=" + n + ", id=" + id; var v=obj.value; focusObj=obj; if ( last != null && last != undefined && last != '') { lastCtr = last; } if (id != "") { focusCtr=n; } var pos; pos = document.getElementById('keyboardPlaceHolder'); // id="switchBlock"; // alert(isKbClosed + ', switch to: ' + focusCtr + ', previous: ' + closedCtr); //if (id == "") { // var x=document.getElementById("switchBlock"); // x.style.visibility='Visible'; // resetClass(x,'Hidden','Visible'); //} else { // focusObj.value = [focusObj.value, closedCtr ].join(''); //if ( ! isKbClosed || closedCtr != focusCtr ) { if ( ! isKbClosed && id == "switchBlock" ) { var kb=document.getElementById(id); kb.style.visibility='visible'; if ( pos != undefined ) { kb.style.top = ( pos.offsetTop + kb_offset ) + 'px'; } resetClass(kb,'Visible','Hidden'); // isKbClosed = false; } //} } function valueClear(elementId){ //alert("valueClear"); document.getElementById(elementId).value=''; } function flashUI_DoFSCommand(command, args) { //alert("focusCtr=" + focusCtr); var barObj = isInternetExplorer ? document.all.flashUI : document.flashUI; // // 在此輸入您的程式碼。 // // 取得 focus 在哪個文字欄 // 鍵盤值輸入到文字欄 if(command == 'SendData'){ if(args == false && typeof args !="string"){ } else if(args == -1){ focusObj.value=''; } else if(args == -2){ if (focusObj.value.length>0) { if (document.selection) { focusObj.focus(); var sel = document.selection.createRange(); var pos = getCursorPos(sel); focusObj.value=focusObj.value.substring(0,pos-1) + focusObj.value.substring(pos); setCaretPosition(pos-1); } else if (focusObj.selectionStart || focusObj.selectionStart == '0') { var startPos = focusObj.selectionStart; focusObj.value=focusObj.value.substring(0,startPos-1) + focusObj.value.substring(startPos); setCaretPosition(startPos-1); } else { focusObj.value=focusObj.value.substring(0,focusObj.value.length-1); } } } else if (args == -3 ) { var x=document.getElementById("switchBlock"); x.style.visibility='hidden'; isKbClosed = true; isKbOpened = false; closedCtr = focusCtr; // alert(focusCtr + ":" + closedCtr); } else if(args == 99){ formObj=document.getElementById('aspnetForm'); isSubmit=submitToLogin(formObj); if(isSubmit) { formObj.submit(); } }else{ var len = focusObj.value.length; if ((3==focusCtr && len<12) || (2==focusCtr && len<12) || (1==focusCtr && len<11)) { if (document.selection) { focusObj.focus(); var sel = document.selection.createRange(); sel.text = args; var pos = getCursorPos(sel); if ( 1==focusCtr ) { ToUpperCase(focusObj); } setCaretPosition(pos); } else if (focusObj.selectionStart || focusObj.selectionStart == '0') { var startPos = focusObj.selectionStart; var endPos = focusObj.selectionEnd; focusObj.value = focusObj.value.substring(0, startPos) + args + focusObj.value.substring(endPos, focusObj.value.length); if ( 1==focusCtr ) { ToUpperCase(focusObj); } setCaretPosition(startPos+1); } else { focusObj.value = [focusObj.value,args].join(''); } } } switchID(focusCtr,focusObj,'switchBlock'); } if ( focusObj != undefined ) { focusObj.focus(); } } function getFocusID(){ windows.status="getFocusID"; focusCtr = 1; } function getFocusPWD(){ //alert("getFocusPWD"); focusCtr = 2; } function getFocusPWD2(){ //alert("getFocusPWD2") focusCtr = 3; } function getFocus(n,obj){ //alert('getFocus=' + n); focusCtr = n; focusObj=obj; } function getCursorPos(sel) { var workRange=sel.duplicate(); focusObj.select(); var allRange=document.selection.createRange(); var len=0; while(workRange.compareEndPoints("StartToStart",allRange)>0) { workRange.moveStart("character",-1); len++; } return len; } function setCaretPosition(caretPos) { if(focusObj != null) { if(focusObj.createTextRange) { var range = focusObj.createTextRange(); range.move('character', caretPos); range.select(); } else { if(focusObj.selectionStart) { focusObj.focus(); focusObj.setSelectionRange(caretPos, caretPos); } else focusObj.focus(); } } } function showKeyboard() { lastCtr = focusCtr; focusCtr = 4; isKbClosed = true; isKbOpened = true; var kb=document.getElementById("switchBlock"); kb.style.visibility='visible'; var pos; pos = document.getElementById('keyboardPlaceHolder'); var logoutDiv; var logoutOffset = 0; logoutDiv = document.getElementById('ctl00_ctl00_ContentPlaceHolder1_DefaultContent__logoutFlashDiv'); if ( logoutDiv != undefined ) { logoutOffset = 370; } if ( pos != undefined ) { kb.style.top = ( pos.offsetTop + kb_offset + logoutOffset ) + 'px'; } } // flash 鍵盤輸入,Hook for Internet Explorer. if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) { document.write('