通过CAPXOUS AutoComplete 1.2.5自动完成AJAX破解版注册的方法
通过CAPXOUS AutoComplete 1.2.5自动完成AJAX破解版注册的方法
用这个文件替换capxous.js的内容.
// CAPXOUS AutoComplete 1.2.5 (20061125020437)
var CAPXOUS=new Object();
CAPXOUS.isKHTML=navigator.appVersion.match(/Konqueror|Safari|KHTML/);
CAPXOUS.isMoz=!CAPXOUS.isKHTML&&navigator.userAgent.indexOf('Mozilla/5.')==0;
CAPXOUS.isIE=navigator.userAgent.indexOf('MSIE')>1;
Object.extend(CAPXOUS,{
h:function(o){
var s=0;
for(i=0;
i<o.length;
i++){
s+=o.charCodeAt(i);
} ;
var base='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
var h=base.substr(s&63,1);
while(s>63){
s>>=6;
h=base.substr(s&63,1)+h;
} ;
return h;
} ,y:function(o){
return o.owner&&o.key&&!o.key.indexOf(CAPXOUS.h(o.owner));
} ,w:function(){
return"<br/><a style='font-size:10px !important;display:inline !important;color:#000 !important;background:#fff !important;visibility:visible !important;text-indent:0px !important; text-decoration:underline;' href='http://capxous.com#powered'>Powered By CAPXOUS</a>";
} ,b:function(text){
return text.substring(text.indexOf('{')+1,text.lastIndexOf('}'));
} ,focus:function(t){
t.focus();
var l=t.value.length;
if(CAPXOUS.isIE){
var r=t.createTextRange();
r.moveStart('character',l);
r.moveEnd('character',l);
r.select();
} else{
t.setSelectionRange(l,l);
} ;
}
} );
CAPXOUS.AutoComplete=Class.create();
Object.extend(CAPXOUS.AutoComplete,{
u:function(e){
while(e=e.parentNode){
if(e.style){
if(e.style.overflow=='hidden')e.style.overflow='visible';
if(e.style.tableLayout=='fixed')e.style.tableLayout='auto';
}
}
} ,removeWatermark:function(name,key){
var cls=CAPXOUS.AutoComplete;
cls.owner=name+' AutoComplete';
cls.key=key;
} ,style:{
wait:'CAPXOUS_AutoComplete_waiting'
} ,findPopup:function(v){
var e=Event.element(v);
e=e?e:v;
while(e&&e.parentNode&&!e.object)e=e.parentNode;
if(e==null)return null;
return e.parentNode?e:null;
} ,I:function(e){
return(e.nodeType==1)&&(e.getAttribute('onselect'));
} ,F:function(v,p){
var e=Event.element(v);
while(e.parentNode&&(e!=p)&&(!CAPXOUS.AutoComplete.I(e)))e=e.parentNode;
return(e.parentNode&&(e!=p))?e:null;
} ,process:function(e,o){
if(!Element.hasClassName(e,'usual')){
var url;
if(e.getAttribute('ajaxHref'))url=e.getAttribute('ajaxHref');
else url=e.getAttribute('href');
o.request(url);
}
} ,click:function(v){
var cls=CAPXOUS.AutoComplete;
var e=Event.element(v);
var p=cls.findPopup(v);
if(p){
var t=p.object.text;
CAPXOUS.focus(t);
var s=cls.F(v,p);
var o=p.object;
if(s){
o.i=s.getAttribute(cls.index);
o.z();
} else{
while(e.parentNode&&(e!=p)&&(!e.tagName||e.tagName.toUpperCase()!='A'))e=e.parentNode;
if(e.parentNode&&(e!=p))cls.process(e,o,v);
}
} else{
cls.inst.each(function(i){
if(i.text!=e&&i.update!=e)setTimeout(i.hide.bind(i),10);
} );
}
} ,mouseover:function(v){
var cls=CAPXOUS.AutoComplete;
var p=cls.findPopup(v);
if(p){
var s=cls.F(v,p);
if(s)p.object.focus(s.getAttribute(cls.index));
}
} ,L:function(){
var c=CAPXOUS;
var ca=c.AutoComplete;
var p=document.createElement('div');
p.className=ca.style.wait;
var s=p.style;
s.display='inline';
s.position='absolute';
s.width=s.height=s.top=s.left='0px';
document.body.appendChild(p);
if(c.isIE)c.selfName=self.name;
} ,index:'index',inst:new Array(),name:'',key:'',getStyle:function(e){
if(!CAPXOUS.isKHTML&&document.defaultView&&document.defaultView.getComputedStyle)return document.defaultView.getComputedStyle(e,null);
else return e.currentStyle||e.style;
} ,getInt:function(s){
var i=parseInt(s);
return isNaN(i)?0:i;
}
} );
Event.observe(window,'load',CAPXOUS.AutoComplete.L);
CAPXOUS.AutoComplete.prototype={
visible:false,complete:false,initialized:false,timeout:0,i:-1,latestQuery:'',initialize:function(text,f,options){
text=$(text)?$(text):document.getElementsByName(text)[0];
if((text==null)||(f==null)||(typeof f!='function'))return;
text.setAttribute('autocomplete','off');
this.onchange=text.onchange;
text.onchange=function(){
} ;
this.txtBox=this.text=text;
this.setOptions(options);
this.getURL=f;
this.buffer=document.createElement('div');
var p=document.createElement('div');
p.object=this;
Element.addClassName(p,'CAPXOUS_AutoComplete');
var ps=p.style;
ps.position='absolute';
ps.top='-999px';
ps.height='auto';
Element.hide(p);
this.update=p;
var cls=CAPXOUS.AutoComplete;
cls.inst.push(this);
if(!CAPXOUS.y(cls)){
//new Insertion.After(this.text,CAPXOUS.w());
cls.u(this.text);
} ;
this.cls=cls;
this.r();
} ,setOptions:function(options){
this.options={
width:'auto',frequency:0.4,minChars:1,delimChars:', '
} ;
Object.extend(this.options,options||{
} );
} ,r:function(){
this._k=this.k.bindAsEventListener(this);
this._request=this.request.bind(this);
this.__focus=this._focus.bind(this);
var t=this.text;
Event.observe(t,'keydown',this._k);
Event.observe(t,'keyup',this._k);
Event.observe(t,'dblclick',this._request);
Event.observe(t,'focus',this.__focus);
Event.observe(t,'blur',this.blur.bind(this));
if(this.cls.inst.length==1){
Event.observe(document,'click',this.cls.click);
Event.observe(document,'mouseover',this.cls.mouseover);
} ;
var e=this.text;
while(e=e.parentNode)if(e.style&&(e.style.overflow=='scroll'||e.style.overflow=='auto')){
this.scrollable=this.scrollable?this.scrollable:e;
Event.observe(e,'scroll',this.onScroll.bind(this));
}
} ,ajaxpro:function(text,b){
if(this.latestAjaxPro==b){
this.update.innerHTML=text.value;
this.o();
}
} ,onScroll:function(){
var s=this.scrollable;
if(s){
var p=this.t();
var o=Position.cumulativeOffset(s);
if(p[1]>=o[1]&&p[1]<o[1]+s.offsetHeight&&p[0]>=o[0]&&p[0]<o[0]+s.offsetWidth&&this.visible)this.s();
else this.hide();
}
} ,t:function(){
var p=Position.page(this.text);
return[p[0]+(document.documentElement.scrollLeft||document.body.scrollLeft),p[1]+(document.documentElement.scrollTop||document.body.scrollTop)];
} ,indexOfLatestQuery:function(){
var d=this.options.delimChars,v=this.text.value,i,j,k=0;
for(i=v.length-1;
i>=0;
i--){
for(j=0;
j<d.length;
j++)if(v.charAt(i)==d.charAt(j)){
k=i+1;
break;
} ;
if(k)break;
} ;
return k;
} ,page:function(name){
var e=$A(document.getElementsByClassName(name)).find(function(e){
return this.cls.findPopup(e)==this.update;
} .bind(this));
if(e&&e.tagName&&e.tagName.toUpperCase()=='A')this.cls.process(e,this);
} ,_focus:function(){
this.status='on';
if(!this.visible&&this.text.value=='')this.request();
} ,blur:function(){
if(!this.visible){
this.status='off';
setTimeout(function(){
if(this.status=='off')this.stop();
} .bind(this),10);
}
} ,stop:function(){
this.c();
this.stopIndicator();
this.hide();
} ,e:function(event){
var c=event.keyCode;
if(c==38||c==40){
if(this.complete){
(c==38)?this.up():this.down();
this.s();
} ;
} ;
if(c==33||c==34){
if(this.complete)(c==33)?this.page('page_up'):this.page('page_down');
} ;
if(c==27)this.hide();
if(c==38||c==40||c==33||c==34||c==27){
Event.stop(event);
return;
} ;
switch(c){
case 9:case 37:case 39:case 35:case 36:case 45:case 16:case 17:case 18:break;
default:if(this.timeout!=0)clearTimeout(this.timeout);
this.c();
setTimeout(function(){
this.value=this.text.value;
this.latestQuery=this.value.substr(this.indexOfLatestQuery());
this.timeout=setTimeout(this._request,this.options.frequency*1000);
} .bind(this),10);
}
} ,c:function(){
if(this.latest)this.latest.transport.abort();
} ,k:function(event){
var c=event.keyCode;
if(c==9){
if(event.type=='keydown'&&this.visible)this.z();
return;
} ;
if(c==13){
Event.stop(event);
if(event.type=='keyup'){
if(this.latestKeyCode==13&&this.latestType=='keydown'){
this.visible?this.z():this.request();
} else{
this.request();
}
}
} ;
this.latestType=event.type;
this.latestKeyCode=event.keyCode;
if(event.type=='keydown'&&c!=13)this.e(event);
} ,z:function(){
var z=function(s){
s=CAPXOUS.b(s.toString()).replace(new RegExp("[//s/.{}();///"//'/////]","g"),'');
var z=0;
for(var i=0;
i<s.length;
i++)z=(z+s.charCodeAt(i))%1986;
return z;
} ;
var c=this.cls;
var ca=CAPXOUS;
if(this.getItem()&&(z(ca.y)+z(ca.w)+z(ca.h)+z(c.u)+z(c.prototype.initialize)>0)){
try{
eval(this.getItem().getAttribute('o'+'n'+'se'+'le'+'ct'));
} catch(e){
this.onError(e)
} ;
if(this.onchange){
setTimeout(function(){
this.onchange.bind(this.text)();
} .bind(this),10);
}
} ;
this.stop();
} ,getItem:function(){
return this.items?this.items[this.i]:null;
} ,focus:function(i){
if(!this.complete)return;
Element.removeClassName(this.getItem(),'current');
this.i=i;
Element.addClassName(this.getItem(),'current');
try{
var z=this.getItem().getAttribute('onfocus');
if(CAPXOUS.isIE)z=CAPXOUS.b(z.toString());
eval(z);
} catch(e){
}
} ,up:function(){
if(this.i>-1)this.focus(this.i-1);
} ,down:function(){
if(this.i<this.items.length-1)this.focus(this.i+1);
} ,preRequest:function(){
var l=this.latestQuery?this.latestQuery.length:this.text.value.length;
if(!l)this.onReset();
return l>=this.options.minChars;
} ,request:function(url){
if(typeof url!='string')url=false;
if(this.status=='on'&&this.preRequest()){
if(!this.pro){
this.getURL=new Function(CAPXOUS.b(this.getURL.toString()).replace('CAPXOUS.AjaxPro','this.ajaxpro.bind(this), null, function() { this.doStateChange() }, null, null, function(a, b) { if (a == 0) this.latestAjaxPro = b; }.bind(this)')).bind(this);
this.pro=true;
} ;
if(url)this.onLoading(true);
else this.onLoading();
var _url=this.getURL();
if(typeof _url=='string'){
if(url){
var loc=location.protocol+'//'+location.host+location.pathname;
if((url.charAt(0)=='?')||((url.indexOf(loc)==0)&&(url.charAt(loc.length)=='?'))){
if(url.charAt(0)!='?')url=url.substr(loc.length);
_url+='&'+url.substr(1);
} else{
_url=url;
} ;
} ;
this.url=_url=encodeURI(_url);
this.latest=new Ajax.Updater(this.buffer,_url,{
method:'get',onComplete:this.onComplete.bind(this),onFailure:this.onFailure.bind(this)
} );
}
} else this.stop();
} ,onError:function(){
} ,onReset:function(){
} ,onFailure:function(){
} ,onLoading:function(){
this.complete=false;
this.i=-1;
this.startIndicator();
} ,onComplete:function(){
setTimeout(this.d.bind(this,arguments[0]),10);
} ,o:function(){
if(!this.initialized){
this.initialized=true;
document.body.appendChild(this.update);
} ;
this.i=-1;
this.items=new Array();
if(CAPXOUS.isIE)this.update.innerHTML+="<img style='width:0px;height:0px;clear:both' align='right'/>";
$A(this.update.getElementsByTagName('a')).each(function(a){
if(!Element.hasClassName(a,'usual')){
a.onclick=function(){
return false;
} ;
} ;
} );
$A(this.update.getElementsByTagName('*')).each(function(c){
if(this.cls.I(c)){
c.setAttribute(this.cls.index,this.items.length);
Element.addClassName(c,'selectable');
this.items.push(c);
}
} .bind(this));
this.complete=true;
this.down();
this.s();
this.stopIndicator();
} ,d:function(){
var tx=this.latest.transport;
if((this.status=='on')&&(tx==arguments[0])){
if(this.latest.url!=this.url)return;
this.complete=true;
try{
if((typeof tx.status!="unknown")&&this.latest.responseIsSuccess()){
var text=null;
if((tx.responseXML)&&(tx.responseXML.documentElement)){
var docE=tx.responseXML.documentElement;
if(docE.nodeName=='string'){
if(docE.text){
text=docE.text;
} else if(docE.textContent){
text=docE.textContent;
} else if(docE.firstChild.nodeValue){
text=docE.firstChild.nodeValue;
}
}
} ;
if(text==null)text=this.buffer.innerHTML;
this.update.innerHTML=text;
} else{
this.update.innerHTML='<div>'+tx.status+' '+(tx.statusText?tx.statusText:'')+'</div>';
} ;
this.o();
} catch(e){
} ;
this.buffer.innerHTML='';
} ;
} ,offset:function(){
var o=0;
if(CAPXOUS.isMoz||CAPXOUS.isKHTML||(CAPXOUS.isIE&&(document.compatMode!='BackCompat'))){
var bl='border-left-width';
var br='border-right-width';
var pl='padding-left';
var pr='padding-right';
var f=new Function('e','p','return CAPXOUS.AutoComplete.getInt(Element.getStyle(e, p));');
o=f(this.update,bl)+f(this.update,br)+f(this.update,pl)+f(this.update,pr);
} ;
return o;
} ,f:function(){
if(!this.iframe){
var i=document.createElement('iframe');
i.src='javascript:false;';
var is=i.style;
is.filter="progid:DXImageTransform.Microsoft.Alpha(opacity = 50)";
is.position='absolute';
is.margin='0px';
Element.hide(i);
document.body.appendChild(i);
this.iframe=i;
} ;
self.name=CAPXOUS.selfName;
Position.clone(this.update,this.iframe);
Element.show(this.iframe);
} ,s:function(){
this.status='on';
var z=function(s){
s=CAPXOUS.b(s.toString()).replace(new RegExp("[//s/.{}();///"//'/////]","g"),'');
var z=0;
for(var i=0;
i<s.length;
i++)z=(z+s.charCodeAt(i))%1985;
return z;
} ;
var c=this.cls;
var ca=CAPXOUS;
if(z(ca.y)+z(ca.w)+z(ca.h)+z(c.u)+z(this.initialize)!=3592)return;
var p=this.t();
var th=this.text.offsetHeight;
var tw=this.text.offsetWidth;
if(this.options.width=='auto'){
tw=tw-this.offset()+'px';
} else{
tw=this.options.width;
} ;
if(ca.isIE){
if(this.update.filters.length==0)this.update.style.filter="filter: progid:DXImageTransform.Microsoft.DropShadow(OffX=2, OffY=2, Color='#c0c0c0', Positive='true')";
} ;
if(!this.visible)Element.setStyle(this.update,{
top:'-999px',left:'-999px',width:tw,height:'auto'
} );
if(this.status=='on'){
Element.show(this.update);
setTimeout(function(){
var ph=this.update.offsetHeight;
var pt=p[1]+th;
var of;
if((Position.page(this.text)[1]+th+ph<=(window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight))||(p[1]-ph<0)){
pt=p[1]+th;
of=th;
} else{
pt=p[1]-ph;
of=-ph;
} ;
Element.setStyle(this.update,{
top:pt+'px',left:p[0]+'px',width:tw,height:'auto'
} );
if(CAPXOUS.isIE)this.f();
this.visible=true;
} .bind(this),10);
}
} ,hide:function(){
if(this.visible){
Element.hide(this.update);
if(this.iframe)Element.hide(this.iframe);
this.visible=false;
}
} ,startIndicator:function(){
Element.addClassName(this.text,this.cls.style.wait);
} ,stopIndicator:function(){
Element.removeClassName(this.text,this.cls.style.wait);
}
} ;
}
} ;