var no_result="---";function go_to(url){document.location.href=url;}
function make_chart(expr,par,op,neg,field,type,value){return"&par"+expr+"="+par+
"&op"+expr+"="+op+
"&neg"+expr+"="+neg+
"&field"+expr+"="+field+
"&type"+expr+"="+type+
"&value"+expr+"="+escape(value).replace(/[+]/g,"%2B");}
function make_query_URL(url,input,searchLong){var searchURL=url;var abort=false;var i,j,k,l;var parts,input2;var word;var alternative;var comma_separated_words;var w;var w0;var prefixes;var expr;var colon_separated_parts,fields,values,field;var chart,and,or;var negation;parts=input.split('"');if((parts.length%2)!=1){alert('Unterminated quote');abort=true;return no_result;}
for(i=1;i<parts.length;i+=2){parts[i]=escape(parts[i]);}
input2=parts.join('"');if(input2.match(/[(]|[\)]/)){alert('Brackets (...) are not supported.\n'+
'Use quotes "..." for values that contain special characters.');abort=true;return no_result;}
word=input2.split(/[\s,]+/);negation="noop";cond_count=0;function add_chart_ex(par,op,neg,field,type,value){var parts=value.split('"');if((parts.length%2)!=1){alert('Internal error: unescaping failure');abort=true;}
for(var i=1;i<parts.length;i+=2){parts[i]=unescape(parts[i]);}
var value2=parts.join('');searchURL+=make_chart(cond_count,par,op,neg,field,type,value);cond_count++;}
function add_chart(field,type,value){add_chart_ex("noop","or",negation,field,type,value)}
searchURL+="?bug_status=UNCONFIRMED&bug_status=NEW&"
+"bug_status=ASSIGNED&bug_status=REOPENED";for(i=0;i<word.length;i++,chart++){if(i)
{add_chart_ex("noop","and","noop","noop","noop","noop");}
add_chart_ex("l1","noop","noop","noop","noop","noop");w=word[i];negation="noop";if(w.charAt(0)=='-'){negation="not";w=w.substring(1);}
add_chart("short_desc","substring",w);add_chart("rep_platform","substring",w);var join_count=i?"-"+i:"";if(searchLong)
add_chart("longdesc"+join_count,"substring",w);add_chart("assigned_to","substring",w);add_chart("reporter","substring",w);add_chart("component","substring",w);add_chart("keywords","substring",w);add_chart_ex("r1","noop","noop","noop","noop","noop");}
if(abort==false){return searchURL;}else{return no_result;}}
function Search(url,input,searchLong){var inputstring=new String(input);var word=inputstring.split(/[\s]+/);if(word.length==1&&word[0]=="")
return;if((searchLong!=false)&&word.length>4){var message="Searching Descriptions for more than four words "+
"will take a very long time indeed. Please choose "+
"no more than four keywords for your query.";alert(message);return;}
var searchURL=make_query_URL(url,inputstring,searchLong);if(searchURL!=no_result){go_to(searchURL);}else{return;}}
function BugzillaQuickSearch(f)
{var input=f.id.value;var scope=f.scope.value;input=input.replace(/^[\s]+/,"").replace(/[\s]+$/,"");if(input=="")
{index_page=bugzilla==undefined?"":bugzilla.index_script==undefined?"":bugzilla.index_script;index_page=index_page==""?"index.fcgi":index_page;go_to(index_page);}
else if(scope!="full"&&input.match(/^[B0-9, ]*$/))
{input=input.replace(/[B\s]/,",");input=input.replace(/,+/,",").replace(/^,/,"").replace(/,$/,"");if(input.indexOf(",")==-1){go_to("show_bug.fcgi?id="+escape(input));}else{go_to("buglist.cgi?bug_id="+escape(input)
+"&bugidtype=include&order=bugs.bug_id");}}
else
{Search("buglist.cgi",input,scope=="full");}
return;}
function LoadQuery(f){var input=f.id.value;input=input.replace(/^[\s]+/,"").replace(/[\s]+$/,"");Search("query.cgi",input,false);return;}
