

var Page=window,DOM=document;
var Checkerlang=false;
var Checkerkeypress=DOM.all && !Page.opera ? 1 : 0;
var Checkeruserange=(DOM.selection && DOM.selection.createRange ? 1 : 0);
var Checkerrtl=false;
var Checkerthiskey=0;
var Checkernumdisplay=0;
var Checkertodisplay="";
var Checkerfocus=null;
var Checkerlaststring="";
function CheckerobjectProps(o){
r="";
for(var p in o){
r+=p+": "+o[p]+"\n";
}
Checkerdebug(r);
return(r);
}
function CheckershowString(s){
r="";
for(var i=0;i<s.length;i++){r+=i+" - "+s.charCodeAt(i)+" - "+s.charAt(i)+"\n";
}
Checkerdebug(r);
}
function Checkerdebug(s){
if(DOM.forms[1]&& DOM.forms[1].query){
DOM.forms[1].query.value+=s+"\n";
}
}
function CheckerprintLetters(start,end){
r="<HR>Letters from "+start+" to "+end+"<BR>";
for(var i=start;i<=end;i++){
r+=i+" &#"+i+";<BR>";
}
r+="<BR>";
DOM.writeln(r);
}
function CheckersetLanguage(language){
Checkerlang=(language && Checkerlangs[language])? Checkerlangs[language]: false;
}
function CheckersetFocus(element){
Checkerfocus=element;
if(element){
Checkerrtl=(Checkerfocus.dir && Checkerfocus.dir=="rtl" ? 1 : 0);
}
}
function CheckergetDirection(){
return(Checkerlang && Checkerlang.rtl)? "rtl" : "ltr";
}
function CheckerwebConvert(s){
var r="";
for(var i=0;i<s.length;i++){
var c=s.charCodeAt(i);r+=c>255 ?("&#"+c+";"): s.charAt(i);
}
return r;
}
function Checkerreverse(s){
var lines=s.split("\r\n"),r="";
for(var i=0;i<lines.length;i++){
r+="\r\n";
for(var j=1;j<=lines[i].length;j++){
r+=lines[i].charAt(lines[i].length-j);
}
}
return r.substr(2);
}
function CheckerkeyDown(event){
var thiskey=(event ? event.which : Page.event.keyCode)- 32;
if(((Page.opera && !Page.event.shiftKey)||(event && !event.shiftKey))&& thiskey>=33 && thiskey<=58){
thiskey+=32;
}
if(Checkerlang && thiskey>=0 && thiskey<Checkerlang.codes.length){
Checkernumdisplay++;
Checkerthiskey=String.fromCharCode(thiskey+32);
var nextkey=Checkerlang.codes[thiskey];
if(nextkey > 0){
Checkertodisplay+=String.fromCharCode(nextkey);
}
else if(nextkey==0){Checkertodisplay+=Checkerthiskey;
}
else
{
Checkertodisplay+=Checkerlang.replace[-nextkey-1];
}
}
}
function CheckerkeyPress(event){
var Checkerkey=(event ? event.which : Page.event.keyCode)- 32;
if(Checkerlang && Checkerkey>=0 && Checkerkey<Checkerlang.codes.length){
var nextkey=Checkerlang.codes[Checkerkey];
if(nextkey > 0){
Page.event.keyCode=nextkey;
}
else 
if(nextkey < 0 && Checkeruserange){
Checkertodisplay+=Checkerlang.replace[-nextkey-1];
Checkernumdisplay++;
}
}
}
function CheckerkeyUp(event){
if(Checkertodisplay && Checkerfocus){
if(Checkerkeypress){
Checkerfocus.caretPos=DOM.selection.createRange();
Checkerfocus.caretPos.moveStart("character",-Checkernumdisplay);
Checkerfocus.caretPos.text=Checkertodisplay;Checkertodisplay="";
}else{
var keypos=Checkerfocus.value.indexOf(Checkerthiskey);
if (keypos == 0 || keypos == Checkerfocus.value.length-1) {
Checkerfocus.value = Checkerfocus.value.substr (0, keypos - Checkernumdisplay + 1) + Checkerfocus.value.substr (keypos + 1) + Checkertodisplay;
} else {
Checkerfocus.value = Checkerfocus.value.substr (0, keypos - Checkernumdisplay + 1) + Checkertodisplay + Checkerfocus.value.substr (keypos + 1);
}
}
}
Checkernumdisplay=0;Checkertodisplay="";
}
var Checkerlangs=new Object();

Checkerlangs.arabic=new Object();Checkerlangs.arabic.rtl=true;Checkerlangs.arabic.codes=new Array(0,0,0,0,0,0,0,1591,0,0,0,0,1608,0,1586,1592,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,0,1603,44,0,46,1567,0,1588,-1,1572,1610,1579,1576,-2,1571,1607,1600,1611,47,1577,1570,1582,1563,1590,1602,1587,1601,1593,1585,1589,1569,1594,1574,1580,0,1583,0,0,1584,1588,-3,1572,1610,1579,1576,1604,1575,1607,1578,1606,1605,1577,1609,1582,1581,1590,1602,1587,1601,1593,1585,1589,1569,1594,1574,60,0,62,1612,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1612,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,46,1567,1612,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,62,0,1612);
Checkerlangs.arabic.replace=new Array(String.fromCharCode(1604,1570),String.fromCharCode(1604,1571),String.fromCharCode(1604,1575));



if(DOM.captureEvents){
DOM.captureEvents(Event.KEYDOWN|Event.KEYUP);
}
if(Checkerkeypress){
DOM.onkeypress=CheckerkeyPress;
}else{
DOM.onkeydown=CheckerkeyDown;
}
DOM.onkeyup=CheckerkeyUp;

var language = "";
var startedtyping = false;

