var sfw=new Array();
String.prototype.decode=function(){
return decodeURI(this);
};
String.prototype.encode=function(){
var _1="";
if(this==""){
return this;
}
if(typeof encodeURIComponent=="function"){
_1=encodeURIComponent(this);
}else{
var _2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-";
var _3=this.toUTF8();
_1="";
for(var i=0;i<_3.length;i++){
if(_2.indexOf(_3.charAt(i))==-1){
_1+="%"+_3.charCodeAt(i).toHex();
}else{
_1+=_3.charAt(i);
}
}
}
return _1;
};
String.prototype.toHex=function(){
var _4="0123456789ABCDEF";
return _4.charAt(this.value>>4)+_4.charAt(this.value&15);
};
String.prototype.toUTF8=function(){
var a,b,i=0;
var _5="";
while(i<this.length){
a=this.charCodeAt(i++);
if(a>=56320&&a<57344){
continue;
}
if(a>=55296&&a<56320){
if(i>=this.length){
continue;
}
b=this.charCodeAt(i++);
if(s<56320||a>=56832){
continue;
}
a=((a-55296)<<10)+(b-56320)+65536;
}
if(a<128){
_5+=String.fromCharCode(a);
}else{
if(a<2048){
_5+=String.fromCharCode(192+(a>>6),128+(a&63));
}else{
if(a<65536){
_5+=String.fromCharCode(224+(a>>12),128+(a>>6&63),128+(a&63));
}else{
_5+=String.fromCharCode(240+(a>>18),128+(a>>12&63),128+(a>>6&63),128+(a&63));
}
}
}
}
return _5;
};
String.prototype.trim=function(){
return this.replace(/^[\s]+|[\s]+$/,"");
};
function sfwCreate(_6){
if(sfw[_6].name&&sfw[_6].action){
sfw[_6].inputContainer=document.getElementById(sfw[_6].name);
sfw[_6].inputContainer.autocomplete="off";
sfw[_6].inputContainer.onblur=function(){
sfwHideOutput(_6);
};
sfw[_6].inputContainer.onclick=function(){
sfwShowOutput(_6);
};
sfw[_6].inputContainer.onfocus=function(){
sfwShowOutput(_6);
};
sfw[_6].inputContainer.onkeypress=function(_7){
if(sfwGetKey(_7)==13){
return false;
}
};
sfw[_6].inputContainer.onkeydown=function(_8){
sfwProcessKeys(_6,_8);
};
sfw[_6].outputContainer=document.createElement("div");
sfw[_6].outputContainer.id=sfw[_6].name+"_list";
sfw[_6].outputContainer.className="SuggestFramework_List";
sfw[_6].outputContainer.style.position="relative";
sfw[_6].outputContainer.style.zIndex="1";
sfw[_6].outputContainer.style.width="";
sfw[_6].outputContainer.style.wordWrap="break-word";
sfw[_6].outputContainer.style.cursor="default";
sfw[_6].inputContainer.parentNode.insertBefore(sfw[_6].outputContainer,sfw[_6].inputContainer.nextSibling);
if(sfw[_6].columns>1&&sfw[_6].capture>1){
sfw[_6].hiddenInput=document.createElement("input");
sfw[_6].hiddenInput.id="_"+sfw[_6].name;
sfw[_6].hiddenInput.name="_"+sfw[_6].name;
sfw[_6].hiddenInput.type="hidden";
sfw[_6].inputContainer.parentNode.insertBefore(sfw[_6].hiddenInput,sfw[_6].inputContainer.nextSibling);
}
if(!sfwCreateConnection()){
sfw[_6].proxy=document.createElement("iframe");
sfw[_6].proxy.id="proxy";
sfw[_6].proxy.style.width="0";
sfw[_6].proxy.style.height="0";
sfw[_6].proxy.style.display="none";
document.body.appendChild(sfw[_6].proxy);
if(window.frames&&window.frames["proxy"]){
sfw[_6].proxy=window.frames["proxy"];
}else{
if(document.getElementById("proxy").contentWindow){
sfw[_6].proxy=document.getElementById("proxy").contentWindow;
}else{
sfw[_6].proxy=document.getElementById("proxy");
}
}
}
sfwHideOutput(_6);
sfwThrottle(_6);
}else{
throw "Suggest Framework Error: Instance \""+sfw[_6].name+"\" not initialized";
}
};
function sfwCreateConnection(){
var _9;
try{
_9=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
if(typeof XMLHttpRequest!="undefined"){
_9=new XMLHttpRequest();
}
}
return _9;
};
function sfwGetKey(e){
return ((window.event)?window.event.keyCode:e.which);
};
function sfwHideOutput(_a){
sfw[_a].outputContainer.style.display="none";
};
function sfwHighlight(_b,_c){
sfw[_b].suggestionsIndex=_c;
for(var i in sfw[_b].suggestions){
var _d=document.getElementById(sfw[_b].name+"_suggestions["+i+"]").getElementsByTagName("td");
for(var j in _d){
if(i%2!=0){
_d[j].className="SuggestFramework_Normal_1";
}else{
_d[j].className="SuggestFramework_Normal_2";
}
}
}
var _d=document.getElementById(sfw[_b].name+"_suggestions["+sfw[_b].suggestionsIndex+"]").getElementsByTagName("td");
for(var i in _d){
_d[i].className="SuggestFramework_Highlighted";
}
};
function sfwIsHidden(_e){
return ((sfw[_e].outputContainer.style.display=="none")?true:false);
};
function sfwProcessKeys(_f,e){
var _10=40;
var _11=38;
var _12=9;
var _13=13;
var _14=27;
if(!sfwIsHidden(_f)){
switch(sfwGetKey(e)){
case _10:
sfwSelectNext(_f);
return;
case _11:
sfwSelectPrevious(_f);
return;
case _13:
sfwSelectThis(_f);
return;
case _12:
sfwSelectThis(_f);
return;
case _14:
sfwHideOutput(_f);
return;
default:
return;
}
}
};
function sfwProcessProxyRequest(_15){
var _16=((sfw[_15].proxy.document)?sfw[_15].proxy.document:sfw[_15].proxy.contentDocument);
_16=_16.body.innerHTML.replace(/\r|\n/g," ").trim();
if(typeof eval(_16)=="object"){
sfwSuggest(_15,eval(_16));
}else{
setTimeout("sfwProcessProxyRequest("+_15+")",100);
}
};
function sfwProcessRequest(_17){
if(sfw[_17].connection.readyState==4){
if(sfw[_17].connection.status==200){
sfwSuggest(_17,eval(sfw[_17].connection.responseText));
}
}
};
function sfwQuery(_18){
sfwThrottle(_18);
var _19=sfw[_18].inputContainer.value;
if(_19==""||_19==sfw[_18].previous){
return;
}
sfw[_18].previous=_19;
var url=sfw[_18].action+"?type="+sfw[_18].name+"&q="+_19.trim().encode();
sfwRequest(_18,url);
};
function sfwRequest(_1a,url){
if(sfw[_1a].connection=sfwCreateConnection()){
sfw[_1a].connection.onreadystatechange=function(){
sfwProcessRequest(_1a);
};
sfw[_1a].connection.open("GET",url,true);
sfw[_1a].connection.send(null);
}else{
sfw[_1a].proxy.location.replace(url);
sfwProcessProxyRequest(_1a);
}
};
function sfwSelectThis(_1b,_1c){
if(sfw[_1b].columns>1&&sfw[_1b].capture>1){
sfw[_1b].hiddenInput.value=sfw[_1b].suggestions[sfw[_1b].suggestionsIndex][sfw[_1b].capture-1];
}
if(!isNaN(_1c)){
sfw[_1b].suggestionsIndex=_1c;
}
var _1d=sfw[_1b].suggestions[sfw[_1b].suggestionsIndex];
if(sfw[_1b].columns>1){
_1d=_1d[0];
}
if (typeof _1d != "undefined"){     	//added this line - otherwise "undefined" is inserted as default
sfw[_1b].inputContainer.value=_1d+"recipe";
sfw[_1b].previous=_1d;
}					//added this line
sfwHideOutput(_1b);
document.forms[1].submit();
};
function sfwSelectNext(_1e){
sfwSetTextSelectionRange(_1e);
if(typeof sfw[_1e].suggestions[(sfw[_1e].suggestionsIndex+1)]!="undefined"){
if(typeof sfw[_1e].suggestions[sfw[_1e].suggestionsIndex]!="undefined"){
document.getElementById(sfw[_1e].name+"_suggestions["+sfw[_1e].suggestionsIndex+"]").className="SuggestFramework_Normal_Next";
}
sfw[_1e].suggestionsIndex++;
sfwHighlight(_1e,sfw[_1e].suggestionsIndex);
}
};
function sfwSelectPrevious(_1f){
sfwSetTextSelectionRange(_1f);
if(typeof sfw[_1f].suggestions[(sfw[_1f].suggestionsIndex-1)]!="undefined"){
if(typeof sfw[_1f].suggestions[sfw[_1f].suggestionsIndex]!="undefined"){
document.getElementById(sfw[_1f].name+"_suggestions["+sfw[_1f].suggestionsIndex+"]").className="SuggestFramework_Normal_Previous";
}
sfw[_1f].suggestionsIndex--;
sfwHighlight(_1f,sfw[_1f].suggestionsIndex);
}
};
function sfwSetTextSelectionRange(_20,_21,end){
if(!_21){
var _21=sfw[_20].inputContainer.value.length;
}
if(!end){
var end=sfw[_20].inputContainer.value.length;
}
if(sfw[_20].inputContainer.setSelectionRange){
sfw[_20].inputContainer.setSelectionRange(_21,end);
}else{
if(sfw[_20].inputContainer.createTextRange){
var _22=sfw[_20].inputContainer.createTextRange();
_22.moveStart("character",_21);
_22.moveEnd("character",end);
_22.select();
}
}
};
function sfwShowOutput(_23){
if(typeof sfw[_23].suggestions!="undefined"&&sfw[_23].suggestions.length){
sfw[_23].outputContainer.style.display="block";
}
};
function sfwSuggest(_24,_25){
sfw[_24].suggestions=_25;
sfw[_24].suggestionsIndex=-1;
sfw[_24].outputContainer.innerHTML="";
var _26="<table style=\"width: 100%; margin: 0; padding: 0; border-width:0\" cellspacing=\"0\" cellpadding=\"0\">";
if(sfw[_24].heading&&sfw[_24].suggestions.length){
var _27=sfw[_24].suggestions.shift();
var _28="<thead>";
var _29="<tr>";
for(var i=0;i<sfw[_24].columns;i++){
var _2a=(String)((sfw[_24].columns>1)?_27[i]:_27);
var _2b="<td class=\"SuggestFramework_Heading\"";
if(sfw[_24].columns>1&&i==sfw[_24].columns-1){
_2b+=" style=\"text-align: right\"";
}
_2b+=">"+_2a.decode().trim()+"</td>";
_29+=_2b;
}
_29+="</tr>";
_28+=_29;
_28+="</thead>";
_26+=_28;
}
var _2c="<tbody>";
for(var i in sfw[_24].suggestions){
var _2d="<tr id=\""+sfw[_24].name+"_suggestions["+i+"]\">";
for(var j=0;j<sfw[_24].columns;j++){
var _2a=(String)((sfw[_24].columns>1)?sfw[_24].suggestions[i][j]:sfw[_24].suggestions[i]);
if(i%2!=0){
var _2b="<td class=\"SuggestFramework_Normal_1\"";
}else{
var _2b="<td class=\"SuggestFramework_Normal_2\"";
}
if(sfw[_24].columns>1&&j==sfw[_24].columns-1){
_2b+=" style=\"text-align: right\"";
}
_2b+=">"+_2a.decode().trim()+"</td>";
_2d+=_2b;
}
_2d+="</tr>";
_26+=_2d;
}
_2c+="</tbody>";
_26+=_2c;
_26+="</table>";
sfw[_24].outputContainer.innerHTML=_26;
for(var i in sfw[_24].suggestions){
var row=document.getElementById(sfw[_24].name+"_suggestions["+i+"]");
row.onmouseover=new Function("sfwHighlight("+_24+", "+i+")");
row.onmousedown=new Function("sfwSelectThis("+_24+", "+i+")");
}
sfwShowOutput(_24);
};
function sfwThrottle(_2e){
setTimeout("sfwQuery("+_2e+")",sfw[_2e].delay);
};
function initializeSuggestFramework(){
function _2f(_30,_31){
if(typeof NamedNodeMap!="undefined"){
if(_30.attributes.getNamedItem(_31)){
return _30.attributes.getNamedItem(_31).value;
}
}else{
return _30.getAttribute(_31);
}
};
var _32=document.getElementsByTagName("input");
try{
for(var _33=0;_33<_32.length;_33++){
if(_2f(_32[_33],"name")&&_2f(_32[_33],"type")=="text"&&_2f(_32[_33],"action")){
sfw[_33]=new Object();
sfw[_33].action=_2f(_32[_33],"action");
sfw[_33].capture=1;
sfw[_33].columns=1;
sfw[_33].delay=1000;
sfw[_33].heading=false;
sfw[_33].name=_2f(_32[_33],"name");
if(_2f(_32[_33],"capture")){
sfw[_33].capture=_2f(_32[_33],"capture");
}
if(_2f(_32[_33],"columns")){
sfw[_33].columns=_2f(_32[_33],"columns");
}
if(_2f(_32[_33],"delay")){
sfw[_33].delay=_2f(_32[_33],"delay");
}
if(_2f(_32[_33],"heading")){
sfw[_33].heading=_2f(_32[_33],"heading");
}
sfwCreate(_33);
}
}
}
catch(e){
}
};
