// Creates a suggestion prompt
// Tested in Firefox 2 and IE6+
// By: Josh Hancock
function WordPrompt(id, url, name, min){var that=this;this.a=new AJAXObject(url,function(s,r){that.handler(s,r)});this.t=document.getElementById(id);this.d=document.getElementById('word_prompt');this.s=this.d.firstChild;this.img=this.d.lastChild;this.x=null;this.n=name;this.pre='';this.min=min;this.ta=document.createElement('textarea')}
WordPrompt.prototype.hide=function(){this.s.style.display='none'}
WordPrompt.prototype.use=function(s){this.t.value=s;this.hide()}
WordPrompt.prototype.empty=function(){while(this.s.length>0)this.s.remove(0)}
WordPrompt.prototype.blur=function(){setTimeout(this.n+".hide()",225)}
WordPrompt.prototype.size=function(x){x=x>22?22:(x<2?2:x);this.s.size=x}
WordPrompt.prototype.handler=function(s,r){this.empty();r=eval('('+r+')');if(r==''||r==null||this.t.value.length<this.min){this.hide()}else{this.size(r.length);for(var i=0;i<r.length;i++)this.add(r[i]);this.s.style.display='block'}this.img.style.display='none';var that=this;this.s.onclick=function(){that.t.value=that.pre=that.s.options[that.s.selectedIndex].text;that.hide()}}
WordPrompt.prototype.get=function(evt, s){this.spos(this.t);var evt=(evt)?evt:window.event;if(evt!=null){var chr=(evt.keyCode)?evt.keyCode:((evt.which)?evt.which:evt.charCode);if(chr==13){return false}else if(chr==38){this.move(-1);return}else if(chr==40){this.move(1);return}}if(s==this.pre)return;this.pre=s;this.hide();if(s.length<this.min)return;clearTimeout(this.x);this.x=setTimeout(this.n+".a.send('q="+encodeURIComponent(s).replace("'","%27")+"')", 100);this.img.style.display='block'}
WordPrompt.prototype.move=function(x){x+=this.s.selectedIndex;if(x<0){x=this.s.length-1}else if(x==this.s.length){x=0}this.s.selectedIndex=x;this.t.value=this.pre=this.s.options[x].text}
WordPrompt.prototype.add=function(s){this.ta.innerHTML=s;var n=document.createElement('option');n.text=this.ta.value;try {this.s.add(n,null)}catch(e){this.s.add(n)}}
WordPrompt.prototype.spos=function(x){var l=t=0;if(x.offsetParent){do{l+=x.offsetLeft;t+=x.offsetTop}while(x=/^body$/i.test(x.offsetParent.tagName)?null:x.offsetParent)}this.img.style.left=this.d.style.left=l-15+'px';this.d.style.top=t+17+'px'}
