function infradoxSearch(filterresetstring){this.settings={targetopener:0,
targetparent:1,
within:0,
filterstring:"",
filterresetstring:"",
auxparameters:"",
words:[],
operators:[],
templates:["sr-loadersearch","sr-body"],
territory:{set:1,required:0},
disablefastphrase:0,
repeatsearch:0,
styleparams:null,
geturl:0};
this.settings.filterresetstring=filterresetstring;};
infradoxSearch.prototype.search=function(useoperators){var query,uspkey,templateKey,searchKey,sp,s,ma,fs,rexp;
if(this.settings.territory.required&&(this.settings.territory.set==0)){menuHandler(ms.territory);
return;}
query=this.query(useoperators);
if(!query){alert(sMessage_EmptySearch);return;}
rexp=/\$/gi;
query=query.replace(rexp,'"');
query=query.replace(/’/,"'");
uspKey=(this.settings.within?'1':'0');
templateKey='&t='+((this.settings.targetparent||this.settings.targetopener)?this.settings.templates[0]:this.settings.templates[1])+'.html';
searchKey='&'+(this.settings.targetparent?'searchtext':'search')+'='+query;
s='';
if(ms.searchresults){ma=ms.searchresults.split('_');
if(ma.length>0){s='&_m='+ma[1];
if(ma.length==3){s+='&_s='+ma[2];}
s+='&_men='+ms.searchresults;}};
if(s==''){s='&_m='+cfg.menu.sr.m;}
if(!this.settings.geturl){url='go?a=disp&rs=1&pt=1'+s
}else{url='a=disp&rs=1&pt=1'+s;}
url+='&_yp1=0';
url+='&usp='+uspKey+'&_spe='+(this.settings.within?'1':'0')+templateKey+searchKey;
fs=this.settings.filterstring;
if(fs){url+=fs;}
if(!this.settings.targetopener){if(!this.settings.styleparams){sp=parent.resultspanel.infradoxState.getStyleParams();
} else sp=this.settings.styleparams;
if(sp) url+=sp;}
if(this.settings.auxparameters){url+=this.settings.auxparameters;}
this.settings.within=0;
url=encodeURI(url);
if(this.settings.targetopener){window.close();
opener.parent.location.href=url;
}else{if(!this.settings.geturl){infradoxApp.loadTarget(url,1,(this.settings.targetparent?CONST_FRAMEPARENT:CONST_FRAMERESULTS))}}
this.settings.disablefastphrase=0;
this.settings.repeatsearch=0;
if(this.settings.geturl) return url;};
infradoxSearch.prototype.query=function(useoperators){var rexp,klen,q='',keyword,arr,hasop=0;
var fastphrase=(cfg.search.fastphrase.enabled&&!this.settings.disablefastphrase);
if(this.settings.words){if(this.settings.repeatsearch){q=this.settings.words[0];
return q;}
this.normalisewords();
klen=this.settings.words.length;
if(klen>0){if(useoperators){if(!this.settings.operators) useoperators=0;
if(useoperators&&(this.settings.operators.length==0)){useoperators=0;}}
if( ((klen>1)||((klen==1)&&fastphrase)) ||this.settings.within){for(var i=0;i<klen;i++){keyword=this.settings.words[i];
hasop=0;
arr=keyword.split(' ');
if(arr.length>1){for(var j=0;j<arr.length;j++){hasop=(arr[j].toLowerCase()=='and');
if(hasop) break;
hasop=(arr[j].toLowerCase()=='or');
if(hasop) break;
hasop=(arr[j].toLowerCase()=='and not');
if(hasop) break;
hasop=(arr[j].toLowerCase()=='like');
if(hasop) break;
hasop=(arr[j].toLowerCase()=='near');
if(hasop) break;}}
if(fastphrase){if(!hasop){if((keyword.indexOf(' ')>-1)||(keyword.indexOf('%20')>-1)){if(keyword[0]!='"'){this.settings.words[i]='"'+keyword+'"';}}}
}else{if(!hasop){this.settings.words[i]='('+arr.join(' and ')+')';
}else{this.settings.words[i]='('+this.settings.words[i]+')';}}}}
if(useoperators&&((this.settings.words.length>1)||this.settings.within )){q=this.querywithoperators();
}else{q=this.settings.words.join(' ');}
rexp=/&/gi;
q=q.replace(rexp,"@38");}}
return q;};
infradoxSearch.prototype.normalisewords=function(){var s=new Array(),reSpace=/[\s\xA0]+/,wsplit=[];
var temp='',words=this.settings.words,hasop=0;
for(var i=0;i<words.length;i++){words[i]=(words[i].replace(/^[\s\xA0]+/,"").replace(/[\s\xA0]+$/,""));
if(words[i]){s[s.length]=words[i];}}
this.settings.words=s;};
infradoxSearch.prototype.querywithoperators=function(){var q=this.settings.words[0],boolOp='';
for(var i=1;i<this.settings.words.length;i++){boolOp=this.booleanoperator(this.settings.operators.length==1?this.settings.operators[0]:this.settings.operators[i-1]);
q+=boolOp+this.settings.words[i];}
return q;};
infradoxSearch.prototype.booleanoperator=function(value){switch(value){case 0:return ' AND ';break;
case 1:return ' OR ';break;
case 2:return ' AND NOT ';break;
default:return ' AND ';}};
infradoxSearch.prototype.getSelectedKeywords=function(frame,divContainer,nameOfClass){nameOfClass=nameOfClass?nameOfClass:'onekeyword';
var arrKeywords=new Array(),container=frame.infradoxApp.getElement(divContainer);
if(!container){alert('container not found');
return arrKeywords;}
var list=frame.infradoxApp.getElementsByClassName(container,'*',nameOfClass);
if(list){for(var i=0;i<list.length;i++){if(list[i].checked){arrKeywords[arrKeywords.length]=list[i].name;}}}
return arrKeywords;};
infradoxSearch.prototype.powerSearch=function(f,filters,targetparent){var op1=0,op2=0,op3=0,op4=0;
if(f.key1style) op1=f.key1style[0].checked?0:f.key1style[1].checked?1:2;
if(f.key2style) op2=f.key2style[0].checked?0:f.key2style[1].checked?1:2;
if(f.key3style) op3=f.key3style[0].checked?0:f.key3style[1].checked?1:2;
if(f.key4style) op4=f.key4style[0].checked?0:f.key4style[1].checked?1:2;
var f1='',f2='',f3='',f4='',f5='';
if(f.key1) f1=f.key1.value;
if(f.key2) f2=f.key2.value;
if(f.key3) f3=f.key3.value;
if(f.key4) f4=f.key4.value;
if(f.key5) f5=f.key5.value;
var _targparent=0;
if(targetparent) _targparent=1;
infradoxAction.executeSearch(this,_targparent,f.psInResults.checked,
[op1,op2,op3,op4],[f1,f2,f3,f4,f5],filters);};

