var _lists_,selectFields=new Array(),startedInitSelect=false;
var _CM_;

function initSearchSelect(fieldName, fieldValue, listKey, storeKey){
var f=new Array(),p=selectFields.length;
f.fieldName=fieldName;
f.fieldValue=fieldValue;
f.listKey=listKey;
f.storeKey=storeKey;
selectFields[p]=f;
if(!startedInitSelect) window.setTimeout("startInitSelect()",500);
}
function startInitSelect(){
var i,f;
for(i in selectFields){
f=selectFields[i];
realInitSelect(f.fieldName,f.fieldValue,f.listKey,f.storeKey);
}
}
function realInitSelect(fieldName, fieldValue, listKey, storeKey){
if(_lists_==null || _lists_[listKey]==null) return;
var e=getElementObj(fieldName), list=_lists_[listKey];
if(_CM_) _CM_.suspend(e);
if(e.type.indexOf("mult") == -1) {
e.insert("", "");
}
var tempNS=NAME_SPACER;
var tempVS=VALUE_SPACER;
NAME_SPACER = '\n';
if(storeKey){
e.insert(list.names,list.values);
}else{
VALUE_SPACER=NAME_SPACER;
e.insert(list.names,list.names);
}
e.remove("-~=Loading=~-");
if(fieldValue!=null){
e.set(fieldValue);
if(!storeKey && e.get()!=fieldValue){
e.insert(fieldValue,fieldValue);
e.set(fieldValue);
}
}
NAME_SPACER=tempNS;
VALUE_SPACER=tempVS;
if(_CM_) _CM_.resume(e);
}

function searchSelect(name) {
var i,start,s,p,c;
p=prompt("Search for:","");
if(p<="") return;
s=new Array();
start=0;
for(i=0;i<=p.length;i++){
if(i==p.length || p.charAt(i)==' '){
if(i>start)
s[s.length]=p.substring(start,i).toLowerCase();
start=i+1
}
}
if(s.length==0) return;
var e=getElementObj(name), o=e.element.options
for(i = 0; i < o.length; i++){
if(containsStrs(o[i].text,s)){
o[i].selected=true;
break;
}
}
}
function containsStrs(s, strs){
var i;
s=s.toLowerCase();
for(i=0;i<strs.length;i++)
if(s.indexOf(strs[i])==-1) return false;
return true;
}

var _SR_;
if(_SR_!=null) _SR_.notify("searchselect.js");