function autocomplete(option){
option = {
charLength: option.charlength || 1,
delayTime: option.delaytime || 400,
oldUserList:option.oldUserList || "",
currentLi:option.currentLi||{},
};
showSuggest=function(toFindUser){
ajax({
type:"POST",
datatype:"xml",
url:"database.xml",
onSuccess:function(database){
var ul=getById("ul");
var images=document.getElementsByTagName("image");
var names=document.getElementsByTagName("name");
for(var i=0;i<names.length;i++){
var t=0;
var results=names[i].match('^('+toFindUser+')');
if(results[0]){
var li=document.createElement("li");
li.οnclick=addUserToList(names[i]);
t++;
if(t%2==1){
li.setAttribute("class","li");
}
li.innerHTML="<img src="+images[i]+"/> "+names[i];
ul.appendChild(li);
}else{
continue;
}
}
getById("suggest").style.display="";
var lists=document.getElementsByTagName("li");
currentLi=lists[0];
}
});
}
hiddenSuggest=function(){
getById("suggest").style.display="none";
}
addUserToList=function(tempuser){
var str=getById("userlist").value;
str+=tempuser;
option.oldUserList=str;
}
getById=function(id){
if(id){
return document.getElementById(id);
}
else{
return null;
}
}
getLastEnteryUser=function(newUserList){
var position= newUserList.lastIndexOf(";")
if(position==-1){
return newUserList;
}
else{
return newUserList.substring(position,newUserList);
}
}
setInterval(function userListListener(){
var newUserList=getById("userlist").value;
if(newUserList!=""&&option.oldUserList!=null
&&newUserList!=option.oldUserList
&&newUserList.length>=option.charLength){
showSuggest(getLastEnteryUser(newUserList));
}else{
hiddenSuggest();
}
option.oldUserList=newUserList;
},option.delayTime);
this.inputObj=getById("userlist");
inputObj.οnkeypress=function(){
}
}