<BR>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'file:/');" value=file:/ input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=Z name=zletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=X name=xletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=C name=cletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=V name=vletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=B name=bletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=N name=nletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=M name=mletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=, name=commaletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=. name=periodletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=? name=forwardletter input>
<BR>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'http://');" value=http:// input>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'www.');" value=www. input>
<INPUT name="button" type=button id=keystroke onClick="clickLetter(this.form,' ');" value=SPACE input>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'.com');" value=.com input>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'.net');" value=.net input>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'.org');" value=.org input></TD>
</TR>
</TBODY></TABLE>
</BODY></HTML>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'file:/');" value=file:/ input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=Z name=zletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=X name=xletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=C name=cletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=V name=vletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=B name=bletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=N name=nletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=M name=mletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=, name=commaletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=. name=periodletter input>
<INPUT id=keystroke onclick=clickLetter(this.form,this.value); type=button value=? name=forwardletter input>
<BR>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'http://');" value=http:// input>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'www.');" value=www. input>
<INPUT name="button" type=button id=keystroke onClick="clickLetter(this.form,' ');" value=SPACE input>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'.com');" value=.com input>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'.net');" value=.net input>
<INPUT name="button" type=button id=keystroke onClick="appendText(this.form,'.org');" value=.org input></TD>
</TR>
</TBODY></TABLE>
</BODY></HTML>
document.getElementById = function(id) {
return document.all[id];
}
}function clickLetter(formObject,bottonValue)
{
//var object1=document.getElementById('keystroke ');
var object2=document.getElementById('code_field');
var object3=document.getElementById('code_field');
object3.innerText=object2.value;
if(bottonValue=='CLS')
{
bottonValue='';
object2.value=bottonValue;
}
if(bottonValue=='DEL')
{
object2.value=object2.value.substring(0,object2.value.length-1);
}
else
{
object2.value+=bottonValue;
}
}
function on_load() {
if (navigator.appName.indexOf('Microsoft') != -1) {
browser = 'IE';
} else if (navigator.appName.indexOf('Netscape') != -1) {
browser = 'NS';
document.getElementById("copyAll").value = "选择全文";
} else {
//if (navigator.appName.indexOf('Opera') != -1) {
browser = 'OP';
}
document.form1.edit_area.focus();
document.form1.shanchu.disabled = true;
document.getElementById("code_field").innerHTML = " ";
document.getElementById("list_area").innerHTML = " ";
}var code_field = "";
var candidates = "";
code_len = 12;
code_table = new Array();
pattern = /[a-z';]+[^a-z';]+/g;
pattern.compile("[a-z';]+[^a-z';]+", "g");
// "raw" is defined in *-table.js
while (pattern.exec(raw) != null) code_table.push(RegExp.lastMatch);word_list = new Array();
left_yinhao1 = false;
left_yinhao2 = false;
ctrl_keydown = false;
right_arrow = false;
cancel_key_event = false;
start_mem = -1;
index_mem = 0;
start_stack = new Array();
index_stack = new Array();
key_en = "1234567890abcdefghijklmnopqrstuvwxyz";
key_EN = "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";
key_quan = "1234567890abcdefghijklmnopqrstuvwxyz";
key_QUAN = "!@#$%^&*()ABCDEFGHIJKLMNOPQRSTUVWXYZ";
fuhao = new Array();
fuhao[1] = "。,、;:?!…—·ˉˇ¨‘’“”々~‖∶"'`|〃〔〕〈〉《》「」『』.〖〗【】()[]{}︵︶︹︺︿﹀︽︾﹁﹂﹃﹄︻︼︷︸︱︳︴";
fuhao[2] = "≈≡≠=≤≥<>≮≯∷±+-×÷/∫∮∝∞∧∨∑∏∪∩∈∵∴⊥∥∠⌒⊙≌∽√≒≦≧⊿";
fuhao[3] = "ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩";
fuhao[4] = "¥¢£℅℉㎡℃♂♀°′″¤‰§№☆★○●◎◇◆□■△▲▼▽◢◣◤◥※→←↑↓↖↗↘↙〓_ ̄―☉⊕〒";
fuhao[5] = "─━│┃┄┅┆┇┈┉┊┋┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋═║╒╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫╬╭╮╯╰╱╲╳▁▂▃▄▅▆▇█▉▊▋▌▍▎▏▓▔▕";
fuhao[6] = "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψω";
fuhao[7] = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя";
fuhao[8] = "āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜü";
fuhao[9] = "ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ˙ˊˇˋ";
fuhao[10] = "ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん";
fuhao[11] = "ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶ";pattern.compile("[^a-z';]");
function search_code_table(str) {
var start = -1;
var low = 0;
var high = code_table.length - 1;
var str_len = str.length;
while (low <= high) {
var mid = Math.floor((low+high)/2);
var code = code_table[mid].substr(0, code_table[mid].search(pattern));
if (code.substr(0,str_len) == str) {
start = mid;
high = mid-1;
}
else if (code.substr(0,str_len) > str) high = mid-1;
else low = mid+1;
}
return(start);
}function create_word_list(start, index, str) {
var str_len = str.length;
var cnt = 1;
var same_code_words = code_table[start].replace(/[a-z';]+/, '').split(',');
candidates = "";
while (cnt <= 10) {
candidates += (cnt % 10) + '.' + same_code_words[index] + ' ';
word_list[cnt-1] = same_code_words[index];
++index;
if (index >= same_code_words.length) {
index = 0;
++start;
if (start >= code_table.length || code_table[start].substr(0, str_len) != str) {
start = -1;
break;
}
same_code_words = code_table[start].replace(/[a-z';]+/, '').split(',');
}
++cnt;
}
if (start > 0) {
if (start_stack.length > 1) {
candidates += '<PgUp PgDn>';
} else {
candidates += ' PgDn>';
}
} else if (start_stack.length > 1) {
//for (i=cnt+1; i<=10; i++) document.form1.list_area.value += '\n';
candidates += '<PgUp';
} else {
candidates += '';//FIXME';
}
start_mem = start;
index_mem = index;
document.getElementById("list_area").innerHTML = candidates + " ";
}function on_code_change(str){
for (i=0;i<=9;i++) {
word_list[i] = "";
}
candidates = "";
start_stack = new Array();
index_stack = new Array();
if (str != "") {
start = search_code_table(str);
start_stack.push(start);
index_stack.push(0);
if (start >= 0) create_word_list(start, 0, str);
}
document.getElementById("code_field").innerHTML = str + " ";
document.getElementById("list_area").innerHTML = candidates + " ";
}function insert_char(str) {
if (str == "") return;
if (document.form1.diji.checked) {
if (/==/.test(document.form1.edit_area.value)) {
document.form1.edit_area.value = document.form1.edit_area.value.replace(/==/, str+"==");
} else {
document.form1.edit_area.value += str;
}
} else {
switch (browser) {
case 'IE':
var r = document.selection.createRange();
r.text=str;
r.select();
break;
case 'NS':
var obj = document.form1.edit_area;
var selectionStart = obj.selectionStart;
var selectionEnd = obj.selectionEnd;
var oldScrollTop = obj.scrollTop;
var oldScrollHeight = obj.scrollHeight;
var oldLen = obj.value.length;
obj.value = obj.value.substring(0, selectionStart) + str + obj.value.substring(selectionEnd);
obj.selectionStart = obj.selectionEnd = selectionStart + str.length;
if (obj.value.length == oldLen) {
obj.scrollTop = obj.scrollHeight;
} else if (obj.scrollHeight > oldScrollHeight) {
obj.scrollTop = oldScrollTop + obj.scrollHeight - oldScrollHeight;
} else {
obj.scrollTop = oldScrollTop;
}
break;
default:
document.form1.edit_area.value += str;
}
}
}
var key = e.which ? e.which : e.keyCode;
if (key!=33 && key!=57383 && key!=34 && key!=57384) {
if (document.form1.select1.selectedIndex!=0 || document.form1.select2.selectedIndex!=0) {
document.form1.select1.selectedIndex=0;
document.form1.select2.selectedIndex=0;
}
}
var key_char = String.fromCharCode(key);
ctrl_keydown = false;
switch (key) {
// Backspace
case 8:
if (code_field != "") {
var str = code_field;
code_field = str.substr(0, str.length-1);
on_code_change(code_field);
cancel_key_event = true;
return false;
}
return true;
// Tab
case 9:
insert_char(' ');
cancel_key_event = true;
return false;
// Esc
case 27:
clear_all();
cancel_key_event = true;
return false;
// PageUp
case 33:
case 57383:
if (code_field != "") {
if(start_stack.length > 1) {
start_stack.pop(); index_stack.pop();
create_word_list(start_stack[start_stack.length-1], index_stack[index_stack.length-1], code_field);
}
cancel_key_event = true;
return false;
}
/* else if (getEl("iFrame").num != undefined) {
if (getEl("iFrame").start > 0) {
last_page();
cancel_key_event = true;
return false;
}
}*/
return true;
// PageDown
case 34:
case 57384:
if (code_field != "") {
if (start_mem != -1) {
start_stack.push(start_mem);
index_stack.push(index_mem);
for(i=0; i<=9; i++) {
word_list[i] = "";
}
create_word_list(start_mem, index_mem, code_field);
}
cancel_key_event = true;
return false;
}
/*else if (getEl("iFrame").num != undefined) {
if ((getEl("iFrame").shurufa=='bihua' && getEl("iFrame").num>100) || (getEl("iFrame").shurufa!='bihua' && getEl("iFrame").num>36)) {
next_page();
cancel_key_event = true;
return false;
}
}*/
return true;
// Space
case 32:
if (code_field != "") {
insert_char(word_list[0]);
code_field = "";
document.getElementById("code_field").innerHTML = " ";
candidates = "";
document.getElementById("list_area").innerHTML = " ";
cancel_key_event = true;
return false;
} /*else if (getEl("iFrame").num != undefined) {
insert_char(getEl("iFrame").words[0]);
blank_page();
cancel_key_event = true;
return false;
}*/
return true;
// Enter
case 13:
if (code_field!="") {
//wait_message();
//str = "getwords.php?shurufa="+shurufa+"¶2="+jianfan+"¶3="+code_field.toLowerCase()+"&start=0";
//getEl("iFrame").location.replace(str);
cancel_key_event = true;
return false;
}
return true;
// Ctrl
case 17:
case 57402:
ctrl_keydown = true;
break;
}
if (e.ctrlKey) return true;
if (/\d/.test(key_char)) {
if (e.shiftKey) {
if (document.form1.full_shape.checked || document.form1.ch_en_switch[0].checked) {
if (document.form1.ch_en_switch[0].checked && key_char=='4') insert_char('¥');
else {
pos = key_EN.indexOf(key_char);
insert_char(key_QUAN.substr(pos,1));
}
cancel_key_event = true;
return false;
}
} else {
if (code_field == "") {
/* if (getEl("iFrame").num != undefined) {
if(key_en.indexOf(key_char) < getEl("iFrame").num) {
insert_char(getEl("iFrame").words[key_en.indexOf(key_char)]);
blank_page();
}
cancel_key_event = true;
return false;
} else if (document.form1.full_shape.checked || document.form1.ch_en_switch[0].checked) {
pos = key_EN.indexOf(key_char);
insert_char(key_quan.substr(pos,1));
cancel_key_event = true;
return false;
}*/
} else {
if (document.form1.ch_en_switch[0].checked) {
insert_char(word_list[(9+parseInt(key_char))%10]);
code_field = "";
document.getElementById("code_field").innerHTML = " ";
candidates = "";
document.getElementById("list_area").innerHTML = " ";
cancel_key_event = true;
return false;
}
}
}
return true;
} if (document.form1.full_shape.checked || document.form1.ch_en_switch[0].checked) {
// if ((key>=186 && key<=192) || (key>=219 && key<=222) ) {
if (key == 186 || (key>=188 && key<=192) || (key>=219 && key<=222) ) {
if (key == 186) {
if (document.form1.ch_en_switch[0].checked) {
if (e.shiftKey) insert_char(':');
else if (code_field == "") insert_char(';');
else return true;
} else {
insert_char( e.shiftKey ? ':' : ';' );
}
}
// else if (key == 187) insert_char( e.shiftKey ? '+' : '=' );
else if (key == 188) insert_char( e.shiftKey ? ((document.form1.ch_en_switch[0].checked)? '《' :'<') : ',' );
else if (key == 189) insert_char( e.shiftKey ? '_' : '-' );
else if (key == 190) insert_char( e.shiftKey ? ((document.form1.ch_en_switch[0].checked)? '》' :'>') : (document.form1.ch_en_switch[0].checked)? '。' :'.');
else if (key == 191) insert_char( e.shiftKey ? '?' : '/' );
else if (key == 192) insert_char( e.shiftKey ? '~' : '`' );
else if (key == 219) insert_char( e.shiftKey ? '{' : '[' );
else if (key == 220) insert_char( e.shiftKey ? '|' : (document.form1.ch_en_switch[0].checked)? '、' :'\');
else if (key == 221) insert_char( e.shiftKey ? '}' : ']' );
else {
if (document.form1.ch_en_switch[0].checked) {
if (e.shiftKey) insert_char( (left_yinhao2 = !left_yinhao2) ? '“' : '”' );
else if (code_field == "") insert_char( (left_yinhao1 = !left_yinhao1) ? '‘' : '’' );
else return true;
} else {
insert_char( e.shiftKey ? '"' : ''' );
}
}
cancel_key_event = true;
return false;
}
if (document.form1.ch_en_switch[1].checked && key == 187) {
insert_char( e.shiftKey ? '+' : '=' );
cancel_key_event = true;
return false;
}
}
if (browser == 'NS') {
if (document.form1.full_shape.checked || document.form1.ch_en_switch[0].checked) {
if (key == 59) {
if (document.form1.ch_en_switch[0].checked) {
if (e.shiftKey) insert_char(':');
else if (code_field == "") insert_char(';');
else return true;
} else {
insert_char( e.shiftKey ? ':' : ';' );
}
cancel_key_event = true;
return false;
}
else if (key == 61) {
if (document.form1.ch_en_switch[1].checked) {
insert_char( e.shiftKey ? '+' : '=' );
cancel_key_event = true;
return false;
}
}
else if (key == 109) {
insert_char( e.shiftKey ? '_' : '-' );
cancel_key_event = true;
return false;
}
}
} right_arrow = (key == 39)? true : false;
return(true);
}