/*
 * Copyright(C) 2008-2010 FajnePrzepisy.pl
 */
Autocompleter.Ingredients=Class.create(Autocompleter.Base,{initialize:function(b,d,c,a){this.baseInitialize(b,d,a);this.options.array=c;this.wrapper=$(this.element.parentNode);this.options.onShow=function(e,f){_top=(e.positionedOffset()[1]+e.clientHeight)+1;_left=(e.positionedOffset()[0]);f.setStyle({display:"block",top:_top+"px",left:_left+"px"})};this.options.onHide=function(e,f){f.hide()};this.ingrd_length=0},getUpdatedChoices:function(){this.updateChoices(this.options.selector(this))},onKeyPress:function(a){if(this.active){switch(a.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.selectEntry();Event.stop(a);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(a);return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(a);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(a);return}}this.changed=true;this.hasFocus=true;this.options.frequency=0;if(this.observer){clearTimeout(this.observer)}this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000)},setOptions:function(a){this.options=Object.extend({selector:function(b){var c=[];var d=b.getToken();c=b.getFind(b.options.array,10,d,b.options.paramName);return"<ul>"+c.join("")+"</ul>"}},a||{})},getFind:function(c,h,g,e){var d=[];for(var b=0;b<c.length&&d.length<h;b++){var a=c[b];var j=a.indexOf(g.toLowerCase());while(j!=-1){if(j==0){var f="<strong class='"+e+"'>"+a.substr(0,g.length)+"</strong>"+a.substr(g.length);d.push("<li value='"+b+"'>"+f+"</li>");break}else{break}j=a.indexOf(g.toLowerCase(),j+1)}}return d},addItem:function(d,a){var c=(a=="inc"?1:0);for(i in d){this.ingrd_length++;var b='<dd class="holder'+(c?"":" holder_exc")+'">';b+='<input type="hidden" name="'+a+'" value="'+i+'">';if(Prototype.Browser.IE){b+='<span class="tag'+a+'" title="Usun skladnik" onclick="this.parentNode.removeNode(true); return false;">'}else{b+='<span class="tag'+a+'" title="Usun skladnik" onclick="this.parentNode.remove(true); return false;">'}b+=d[i];b+="</span></dd>";Effect.Appear(this.options.updateBoxes.box);if(a=="inc"){$(this.options.updateBoxes.list).insert({before:b})}else{$(this.options.updateBoxes.list).insert({before:b})}}}});addItemToList=function(e,d){if(Prototype.Browser.IE){var f=new RegExp("<STRONG class=(.*?)>(.*?)</STRONG>","i");var a=f.exec(e.outerHTML)}else{var a=/<strong class="(.*)">(.*)<\/strong>/i.exec(e.innerHTML)}var c=(a[1]=="e"?0:1);if($(d.element)){$(d.element).value="";$(d.element).focus()}var b='<dd class="holder'+(c?"":" holder_exc")+'">';b+='<input type="hidden" name="'+(c?"inc":"exc")+'" value="'+tags2ints[e.value]+'">';if(Prototype.Browser.IE){b+='<span class="tag'+(c?"inc":"exc")+'" title="Usun skladnik" onclick="this.parentNode.removeNode(true); return false;">'}else{b+='<span class="tag'+(c?"inc":"exc")+'" title="Usun skladnik" onclick="this.parentNode.remove(true); return false;">'}b+=tagsList[e.value];b+="</span></dd>";Effect.Appear(d.box);if(c){$(d.list).insert({after:b})}else{$(d.list).insert({after:b})}};