//cutechatraneobjectbuilder //XMLHttpRequest // copyright CuteChat 2005 // last modify:2005-01-20 //for XMLHttpRequest (Gecko/Java) var cutechatraneobjectbuilder=function(url,typename,methods) { var undefinedValue; var Code62Chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; var Encode62Codes=new Array(65536); function Encode62(ch) { return Encode62Code(ch.charCodeAt(0)) } function Encode62Code(code) { var cacheV=Encode62Codes[code]; if(cacheV)return cacheV; var l=code%62; var x=code-code%3844; var m=(code-x-l)/62; var h=x/3844; cacheV=Code62Chars.charAt(h)+Code62Chars.charAt(m)+Code62Chars.charAt(l); Encode62Codes[code]=cacheV; return cacheV; } function Decode62(str) { var h=Code62Chars.indexOf(str.charAt(0)); var m=Code62Chars.indexOf(str.charAt(1)); var l=Code62Chars.indexOf(str.charAt(2)); return String.fromCharCode(h*3844+m*62+l); } function SharpEncode(str) { str=str.replace(/\#/g,'#A'); str=str.replace(/\$/g,'#B'); str=str.replace(/\ /g,'#C'); str=str.replace(/\t/g,'#D'); str=str.replace(/\r/g,'#E'); str=str.replace(/\n/g,'#F'); var ct=''; var ctl=0; var re=/[\u007F-\uFFFF]/; do { var m=re.exec(str); if(m==null)break; var c=m.input.charAt(m.index) var e62=Encode62(c); str=str.replace(new RegExp(c,'g'),'#'+ctl.toString(16)+'$'); ct+=e62; ctl++; } while(true); return ct+'#'+str; } function CodeEncode(str) { var res=''; for(var i=0;i