(function(){YAHOO.widget.AutoComplete.prototype._onTextboxKeyDownSuper_=YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown;YAHOO.widget.AutoComplete.prototype._onTextboxKeyDown=function(v,oSelf){oSelf._keyCode_=v.keyCode;if(v.keyCode==27){oSelf._clearSelection();}
oSelf._onTextboxKeyDownSuper_(v,oSelf);};YAHOO.widget.AutoComplete.prototype._onTextboxKeyPressSuper_=YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress;YAHOO.widget.AutoComplete.prototype._onTextboxKeyPress=function(v,oSelf){oSelf._keyCode_=v.keyCode;if(v.keyCode==27){oSelf._clearSelection();}
oSelf._onTextboxKeyPressSuper_(v,oSelf);};YAHOO.widget.AutoComplete.prototype._onTextboxBlurSuper_=YAHOO.widget.AutoComplete.prototype._onTextboxBlur;YAHOO.widget.AutoComplete.prototype._onTextboxBlur=function(v,oSelf){try{oSelf._onTextboxBlurSuper_(v,oSelf);}catch(e){}};YAHOO.widget.AutoComplete.prototype._toggleContainerSuper_=YAHOO.widget.AutoComplete.prototype._toggleContainer;YAHOO.widget.AutoComplete.prototype._toggleContainer=function(show){try{var container=Y.Dom.getAncestorByClassName(this._elContainer,'quicklog')||Y.Dom.getAncestorByClassName(this._elContainer,'module');Y.Dom[show?'addClass':'removeClass'](container,'dropdown');this._toggleContainerSuper_(show);}catch(e){}};fitbit.namespace("fitbit.app.food.common");fitbit.app.food.common={autoCompletes:{},addFoodUnitArray:[],newAutoComplete:function(input,container,dataSource){var acCtrl=new YAHOO.widget.AutoComplete(input,container,dataSource);acCtrl.prehighlightClassName="yui-ac-prehighlight";acCtrl.minQueryLength=0;acCtrl.maxResultsDisplayed=10;acCtrl.typeAhead=false;acCtrl.useShadow=false;acCtrl.autoHighlight=true;acCtrl.forceSelection=true;acCtrl.queryMatchContains=true;acCtrl.resultTypeList=false;return acCtrl;},highlightRow:function(area,id,on,isFavorite){var entry=fitbit.app.highlightRow(area+"."+id,on);var starImage=Y.Dom.get("isFavoriteStar."+id);var deleteAction=Y.Dom.get(area+"Actions."+id);var stepperActions=Y.Dom.get("stepperActions."+id);fitbit.app.highlightRow(entry,on);if(on){Y.Dom.removeClass(deleteAction,"invisible");Y.Dom.removeClass(stepperActions,"invisible");if(isFavorite){starImage.src="/images/common/star_yellow_yellow.gif";}else{starImage.src="/images/common/star_grey_yellow.gif";}}else{Y.Dom.addClass(deleteAction,"invisible");Y.Dom.addClass(stepperActions,"invisible");if(isFavorite){starImage.src="/images/common/star_yellow_white.gif";}else{starImage.src="/images/common/star_grey_white.gif";}}},highlightFavorite:function(favoriteType,foodId,on){fitbit.app.highlightRow(favoriteType+"."+foodId,on);var teaserActions=Y.Dom.get(favoriteType+"Actions."+foodId);if(on){Y.Dom.removeClass(teaserActions,"invisible");}else{Y.Dom.addClass(teaserActions,"invisible");}},toggleUnitsLayer:function(baseId,unitsArray){var quant=YAHOO.util.Dom.get('quantityConsumed.'+baseId);if(quant!=null){quant.blur();}
var quicklog=Y.Dom.get('expand.'+baseId);if(Y.Dom.hasClass(quicklog,'invisible')){Y.Dom.removeClass(quicklog,'invisible');if(unitsArray!=null){fitbit.app.food.common.loadUnits(baseId,unitsArray,false);}}else{Y.Dom.addClass(quicklog,'invisible');fitbit.app.food.common.unloadUnits(baseId);}},loadUnits:function(baseId,unitsArray,auto){var amtACDS=new YAHOO.util.FunctionDataSource(function(sQuery){return fitbit.app.food.common.getMeasures(sQuery,fitbit.app.food.common.addStandardUnits(unitsArray));});amtACDS.maxCacheEntries=0;amtACDS.responseType=YAHOO.util.DataSourceBase.TYPE_JSARRAY;amtACDS.responseSchema={fields:["amount","id"]};var amtAutoComp=fitbit.app.food.common.newAutoComplete('quantityConsumed.'+baseId,'foodQuantContainer.'+baseId,amtACDS);amtAutoComp.formatResult=function(oResultItem,sQuery){return(oResultItem.id!=null)?oResultItem.amount:"<div style='padding-left:40px;'>x cancel</div>";};amtAutoComp.itemSelectEvent.subscribe(function(e,aArgs){var ac=aArgs[0];var aData=aArgs[2];if(aData.id!=null){Y.Dom.get('unitId.'+baseId).value=aData.id;Y.Dom.get('quantityConsumed.'+baseId).value=aData.amount;if(auto){fitbit.app.food.foodlog.saveAmtEdit(baseId);}else{Y.Dom.get('foodAutoCompButton.'+baseId).disabled=false;}}else{fitbit.app.food.foodlog.cancelAmtEdit(baseId);}});amtAutoComp.selectionEnforceEvent.subscribe(function(e,aArgs){var oMyAcInstance=aArgs[0];var elFirstListItem=oMyAcInstance._elList.firstChild;if(elFirstListItem&&oMyAcInstance._keyCode_!=27){var aData=elFirstListItem._oResultData;oMyAcInstance._elTextbox.value=aData.amount;oMyAcInstance.itemSelectEvent.fire(oMyAcInstance,elFirstListItem,aData);}
else{Y.Dom.get('unitId.'+baseId).value='';Y.Dom.get('quantityConsumed.'+baseId).value='';if(auto){fitbit.app.food.foodlog.cancelAmtEdit(baseId);}else{Y.Dom.get('foodAutoCompButton.'+baseId).disabled=true;}}});amtAutoComp.dataReturnEvent.subscribe(function(sType,aArgs){if(auto){var self=aArgs[0];var aResults=aArgs[2];var newItem=["",null];if(aResults.length>=self.maxResultsDisplayed){aResults.splice(self.maxResultsDisplayed-1,1,newItem);}else{aResults.push(newItem);}}});Y.Dom.get('quantityConsumed.'+baseId).focus();Y.Dom.get('quantityConsumed.'+baseId).select();amtAutoComp.sendQuery(Y.Dom.get('quantityConsumed.'+baseId).value);fitbit.app.food.common.autoCompletes[baseId]=amtAutoComp;},unloadUnits:function(baseId){var ac=fitbit.app.food.common.autoCompletes[baseId];if(ac!=undefined&&ac!=null){ac.destroy();ac=null;fitbit.app.food.common.autoCompletes[baseId]=null;}},beginAmtEdit:function(area,entryId,baseId,unitsArray){var entry=Y.Dom.get(area+'.'+baseId);var column2=Y.Dom.getElementsByClassName('cols2','span',entry)[0];Y.Dom.addClass(column2,"invisible");var edit=Y.Dom.getElementsByClassName('mod',"span",entry)[0];Y.Dom.removeClass(edit,"invisible");Y.Dom.get("quantityConsumed."+baseId).value=Y.Dom.get("defaultAmount."+baseId).value;Y.Dom.get(area+"Id."+baseId).value=entryId;if(unitsArray!=null){fitbit.app.food.common.loadUnits(baseId,unitsArray,true);}},cancelAmtEdit:function(area,baseId){fitbit.app.food.common.unloadUnits(baseId);var entry=Y.Dom.get(area+'.'+baseId);var edit=Y.Dom.getElementsByClassName('mod',"span",entry)[0];Y.Dom.addClass(edit,"invisible");var column2=Y.Dom.getElementsByClassName('cols2','span',entry)[0];Y.Dom.removeClass(column2,"invisible");Y.Dom.get("quantityConsumed."+baseId).blur();return entry;},getServingAmtByUnitId:function(measuresArray,unitId){for(var i=0;i<measuresArray.length;i++){if(measuresArray[i][1]==unitId){return measuresArray[i][0];}}
return null;},getPluralFormByUnitId:function(measuresArray,unitId){for(var i=0;i<measuresArray.length;i++){if(measuresArray[i][1]==unitId){return measuresArray[i][6];}}
return null;},checkAmountPartOfQuery:function(sQuery){var re=new RegExp("^\\s*((\\d{0,6}\\s?\\d+/\\d+)|((\\d{1,3},?){1,2})?(\\.\\d{1,3})?)");var numberPartOfURL=decodeURIComponent(sQuery).replace(/^\s+|\s+$/g,"").match(re);if(numberPartOfURL==null||numberPartOfURL.length==0||numberPartOfURL[0]==""){return"";}else{return numberPartOfURL[0];}},getAmountPartOfQuery:function(sQuery){var isPlural=false;var numberPartOfURL=fitbit.app.food.common.checkAmountPartOfQuery(sQuery);if(numberPartOfURL==""){numberPartOfURL="1";}
else{var lastCharNumber=numberPartOfURL.charAt(numberPartOfURL.length-1);if(lastCharNumber=="."||lastCharNumber==","){numberPartOfURL+="0";}else if(lastCharNumber=="/"){numberPartOfURL+="2";}
var firstCharNumber=numberPartOfURL.charAt(0);if(firstCharNumber=="."||firstCharNumber==","){numberPartOfURL="0"+numberPartOfURL;}
if(numberPartOfURL!="1"&&numberPartOfURL!="1."&&numberPartOfURL!="1.0"&&!(numberPartOfURL.indexOf("/",0)!=-1&&numberPartOfURL.indexOf(" ",0)==-1)&&numberPartOfURL.indexOf("0.",0)!=0)
{isPlural=true;}}
return[numberPartOfURL,isPlural];},getMeasures:function(sQuery,unitArray){var aResults=[];var amtPartOfQuery=fitbit.app.food.common.getAmountPartOfQuery(sQuery);var amt=amtPartOfQuery[0];var isPlural=amtPartOfQuery[1];var src=decodeURIComponent(sQuery).toLowerCase();var expUnit=src.split(" ").pop();var itemSelected={unit:null,code:null};for(var i=0;i<unitArray.length;i++)
{if(itemSelected.unit==null&&unitArray[i][1]!=null&&unitArray[i][2]!=null&&(src.indexOf(unitArray[i][1].toLowerCase())>-1||unitArray[i][1].toLowerCase().indexOf(expUnit)>-1||unitArray[i][2].toLowerCase().indexOf(expUnit)>-1))
{itemSelected.unit=(isPlural)?amt+" "+unitArray[i][2]:amt+" "+unitArray[i][1];itemSelected.code=unitArray[i][0];}
else
{if(isPlural){aResults.push([amt+" "+unitArray[i][2],unitArray[i][0]]);}else{aResults.push([amt+" "+unitArray[i][1],unitArray[i][0]]);}}}
if(itemSelected.unit!=null){aResults.unshift([itemSelected.unit,itemSelected.code]);}
return aResults;},procFavorite:function(baseId,entryId,foodId,isFavorite,favoriteFoodEntryId){if(isFavorite){fitbit.app.food.foodlog.removeFoodFromFavorites(baseId,entryId,favoriteFoodEntryId);}
else{fitbit.app.food.foodlog.addFoodToFavorites(baseId,foodId);}},addFoodToFavorites:function(baseId,foodId,area){var errorsElement=Y.Dom.get("errors");fitbit.util.setContent(errorsElement,"");Y.Dom.addClass("errors","invisible");var favActions=Y.Dom.get('isFavorite.'+baseId);var favLink=Y.Dom.getElementsByClassName('procFav',"a",favActions)[0];favLink.onmousedown=function(e){return false;};Y.Dom.get("isFavoriteStar."+baseId).src="/images/common/busy_grey_yellow.gif";Y.Connect.asyncRequest("POST","/foods/log/favoriteFoods?apiFormat=htmljson&foodId="+foodId+"&refPage="+area+"&add=on",{success:function(o){fitbit.util.setContent(Y.Dom.get("favoriteFoods"),o.responseText);fitbit.app.food.foodlog.getFoods();},failure:function(o){var errors=YAHOO.lang.JSON.parse(o.responseText).result.errors;var aErrors=(errors==null||errors.length==0)?[{errorType:"system"}]:errors;Y.Dom.removeClass("errors","invisible");fitbit.util.setContent(Y.Dom.get("errors"),fitbit.app.convertErrorsToList(aErrors));},argument:[]},null);},removeFoodFromFavorites:function(baseId,entryId,favoriteFoodEntryId,area){if(entryId!=null){var favActions=Y.Dom.get('isFavorite.'+baseId);var favLink=Y.Dom.getElementsByClassName('procFav',"a",favActions)[0];favLink.onmousedown=function(e){return false;};Y.Dom.get("isFavoriteStar."+baseId).src="/images/common/busy_grey_yellow.gif";}else{var actionsElement=Y.Dom.get('favoriteFoodActions.'+baseId);var deleteLink=Y.Dom.getElementsByClassName('delete',"a",actionsElement)[0];Y.Dom.setStyle(deleteLink,"background","url('/images/common/busy_grey_yellow.gif') no-repeat 0 0");deleteLink.onmousedown=function(e){return false;};}
Y.Connect.asyncRequest("POST","/foods/log/favoriteFoods?apiFormat=htmljson&favoriteFoodEntryId="+favoriteFoodEntryId+"&refPage="+area+"&delete=on",{success:function(o){fitbit.util.setContent(Y.Dom.get("favoriteFoods"),o.responseText);fitbit.app.food.foodlog.getFoods();},failure:function(o){alert(o.responseText);},argument:[]},null);},addStandardUnits:function(unitArray){var weightMap={};var weightArray=[];weightMap[226]=weightArray[0]=[226,"oz","oz"];weightMap[180]=weightArray[1]=[180,"lb","lbs"];weightMap[147]=weightArray[2]=[147,"gram","grams"];weightMap[389]=weightArray[3]=[389,"kilogram","kilograms"];var liquidsArray=[];liquidsArray[0]=[209,"ml","ml"];liquidsArray[1]=[128,"fl oz","fl oz"];liquidsArray[2]=[364,"tsp","tsp"];liquidsArray[3]=[349,"tbsp","tbsp"];liquidsArray[4]=[91,"cup","cups"];liquidsArray[5]=[256,"pint","pints"];liquidsArray[6]=[279,"quart","quarts"];liquidsArray[7]=[189,"liter","liters"];var liquidMap={};liquidMap[209]=liquidsArray[0];liquidMap[128]=liquidsArray[1];liquidMap[189]=liquidsArray[7];var dryMap={};var dryArray=[];dryArray[0]=dryMap[91]=liquidsArray[4];dryArray[1]=dryMap[256]=liquidsArray[5];dryArray[2]=dryMap[279]=liquidsArray[6];var dryAdditionalMap={};var dryAdditionalArray=[];dryAdditionalArray[0]=dryAdditionalMap[364]=liquidsArray[2];dryAdditionalArray[1]=dryAdditionalMap[349]=liquidsArray[3];var hasWeight=false;var hasMlFlOzLiter=false;var hasCupPintQuart=false;var hasTspTbsp=false;var newUnitArray=[];for(var i=0;i<unitArray.length;i++){if(weightMap[unitArray[i][0]]!=null){hasWeight=true;}else if(liquidMap[unitArray[i][0]]!=null){hasMlFlOzLiter=true;}else if(dryMap[unitArray[i][0]]!=null){hasCupPintQuart=true;}else if(dryAdditionalMap[unitArray[i][0]]!=null){hasTspTbsp=true;}else{var newUnit=[unitArray[i][0],unitArray[i][1]];if(unitArray[i][2]==null){if(unitArray[i][1].charAt(unitArray[i][1].length-1)=='y'){newUnit[2]=unitArray[i][1].substr(0,unitArray[i][1].length-1)+"ies";}else if(unitArray[i][1].charAt(unitArray[i][1].length-1)=='f'){newUnit[2]=unitArray[i][1].substr(0,unitArray[i][1].length-1)+"ves";}else if(unitArray[i][1].charAt(unitArray[i][1].length-1)=='s'){newUnit[2]=unitArray[i][1]+"es";}else if(unitArray[i][1].charAt(unitArray[i][1].length-1)=='x'){newUnit[2]=unitArray[i][1]+"es";}else if(unitArray[i][1].charAt(unitArray[i][1].length-1)=='z'){newUnit[2]=unitArray[i][1]+"es";}else if(unitArray[i][1].charAt(unitArray[i][1].length-2)=='c'&&unitArray[i][1].charAt(unitArray[i][1].length-1)=='h'){newUnit[2]=unitArray[i][1]+"es";}else if(unitArray[i][1].charAt(unitArray[i][1].length-2)=='s'&&unitArray[i][1].charAt(unitArray[i][1].length-1)=='h'){newUnit[2]=unitArray[i][1]+"es";}else{newUnit[2]=unitArray[i][1]+"s";}}else{newUnit[2]=unitArray[i][2];}
newUnitArray.push(newUnit);}}
if(hasMlFlOzLiter){for(var i=0;i<liquidsArray.length;i++){newUnitArray.push(liquidsArray[i]);}}else if(hasTspTbsp){for(var i=0;i<dryAdditionalArray.length;i++){newUnitArray.push(dryAdditionalArray[i]);}
if(hasCupPintQuart){for(var i=0;i<dryArray.length;i++){newUnitArray.push(dryArray[i]);}}}else if(hasCupPintQuart){for(var i=0;i<dryArray.length;i++){newUnitArray.push(dryArray[i]);}}
if(hasWeight){for(var i=0;i<weightArray.length;i++){newUnitArray.push(weightArray[i]);}}
return newUnitArray;}};})();var logFoodDialog=new YAHOO.widget.Dialog("logFoodDialog",{width:"554px",fixedcenter:true,close:false,zIndex:55,modal:true,visible:false});logFoodDialog.render();(function(){fitbit.namespace("fitbit.app.food.logFoodDialog");fitbit.app.food.logFoodDialog={calendar:null,foodAmtAC:null,changeDate:function(){fitbit.app.food.logFoodDialog.calendar=new fitbit.app.Calendar("calendarCD",fitbit.app.food.logFoodDialog.changeDateHandler,"");fitbit.app.food.logFoodDialog.calendar.show("showCalendarCD",null,null,new Date(),"logFoodDialog");},changeDateHandler:function(type,args,obj){var dateResult=fitbit.util.getDateFromYUIDateArray(args[0][0]);Y.Dom.get("date").value=dateResult.getFullYear()+"-"+dateResult.getPaddedMonth()+"-"+dateResult.getPaddedDate();fitbit.util.setContent(Y.Dom.get("dateSpan"),"on "+dateResult.toDateString());fitbit.app.food.logFoodDialog.calendar.hide();},onLogFood:function(foodId,units){Y.Dom.get("foodId").value=foodId;fitbit.app.food.common.addFoodUnitArray=fitbit.app.food.common.addStandardUnits(units);fitbit.util.setContent(Y.Dom.get("logFoodErrors"),"");Y.Dom.removeClass("logFoodDialog","invisible");logFoodDialog.show();var guessAmt="1 "+fitbit.app.food.common.addFoodUnitArray[0][1];Y.Dom.get("quantityselectinput").value=guessAmt;fitbit.app.food.logFoodDialog.foodAmtAC.getNewInstance().sendQuery(guessAmt);Y.Dom.get("quantityselectinput").focus();Y.Dom.get("quantityselectinput").select();},onCancelLogFood:function(){Y.Dom.get("quantityselectinput").value="";Y.Dom.get("quantityConsumed").value="";Y.Dom.get("unitId").value="";logFoodDialog.cancel();},validateLogFood:function(){var hasErrors=false;var errors="<div class='errorMessage'>Please fix the following errors:</div>"+"<ul class='errorList' style='margin-bottom: 15px;'>";var inp=document.forms["logFood"].elements["quantityselectinput"].value;if(inp==null||inp==''){hasErrors=true;errors+="<li class='errorBullet'>"+"Food amount is unknown"+"</li>";}
else{var quant=document.forms["logFood"].elements["quantityConsumed"].value;if(quant==null||quant==''){hasErrors=true;errors+="<li class='errorBullet'>"+"Quantity consumed is unknown"+"</li>";}
var units=document.forms["logFood"].elements["unitId"].value;if(units==null||units==''){hasErrors=true;errors+="<li class='errorBullet'>"+"Food measurement unit is unknown"+units+quant+"</li>";}}
return{hasErrors:hasErrors,errors:errors+"</ul>"};},logFood:function(userId){var errorsElement=Y.Dom.get("logFoodErrors");fitbit.util.setContent(errorsElement,"");var validationResult=fitbit.app.food.logFoodDialog.validateLogFood();if(validationResult.hasErrors){Y.Dom.removeClass("logFoodErrors","invisible");fitbit.util.setContent(errorsElement,validationResult.errors);}else{Y.Connect.setForm(document.forms["logFood"]);Y.Connect.asyncRequest("POST","/foods/log/foodLog?apiFormat=htmljson&log=on",{success:function(o){window.location='/foods/log/'+Y.Dom.get("date").value.replace(/-/g,"/");},failure:function(o){var errors=YAHOO.lang.JSON.parse(o.responseText).result.errors;var aErrors=(errors==null||errors.length==0)?[{errorType:"system"}]:errors;Y.Dom.removeClass("logFoodErrors","invisible");fitbit.util.setContent(errorsElement,fitbit.app.convertErrorsToList(aErrors));},argument:[]},null);}},removeFoodFromFavorites:function(foodId,favoriteFoodEntryId){Y.Connect.asyncRequest("POST","/foods/log/favoriteFoods?apiFormat=json&favoriteFoodEntryId="+favoriteFoodEntryId+"&refPage=foodLog&delete=on",{success:function(o){var result=YAHOO.lang.JSON.parse(o.responseText).result;var unfavFood=Y.Dom.get("unfavoriteFood"+foodId);var link=Y.Dom.getElementsByClassName('action',"a",unfavFood)[0];link.onmousedown=function(e){return false;};Y.Dom.addClass(unfavFood,"invisible");if(result.isWithinQuota){Y.Dom.removeClass("favoriteFood"+foodId,"invisible");}
if(fitbit.app.foods&&fitbit.app.foods.search){fitbit.app.foods.search.userData.setWithinQuota(result.isWithinQuota);fitbit.app.foods.search.userData.removeFav(foodId,favoriteFoodEntryId);}},failure:function(o){alert(o.responseText);},argument:[]},null);},addFoodToFavorites:function(foodId){var errorsElement=Y.Dom.get("errors");fitbit.util.setContent(errorsElement,"");Y.Dom.addClass("errors","invisible");Y.Connect.asyncRequest("POST","/foods/log/favoriteFoods?apiFormat=json&foodId="+foodId+"&refPage=foodLog&add=on",{success:function(o){var result=YAHOO.lang.JSON.parse(o.responseText).result;Y.Dom.addClass("favoriteFood"+foodId,"invisible");var unfavFood=Y.Dom.get("unfavoriteFood"+foodId);var link=Y.Dom.getElementsByClassName('action',"a",unfavFood)[0];link.onmousedown=function(e){fitbit.app.food.logFoodDialog.removeFoodFromFavorites(foodId,result.favoriteFoodEntryId);return false;};Y.Dom.removeClass(unfavFood,"invisible");if(fitbit.app.foods&&fitbit.app.foods.search){fitbit.app.foods.search.userData.setWithinQuota(result.isWithinQuota);fitbit.app.foods.search.userData.addFav(foodId,result.favoriteFoodEntryId);}},failure:function(o){var errors=YAHOO.lang.JSON.parse(o.responseText).result.errors;var aErrors=(errors==null||errors.length==0)?[{errorType:"system"}]:errors;Y.Dom.removeClass("errors","invisible");fitbit.util.setContent(Y.Dom.get("errors"),fitbit.app.convertErrorsToList(aErrors));},argument:[]},null);}};})();(function(){fitbit.app.food.logFoodDialog.foodAmtAC={_instance:null,getInstance:function(){if(this._instance==null){this._instance=this.newInstance();}
return this._instance;},getNewInstance:function(){if(this._instance!=null){this._instance.destroy();this._instance=null;}
this._instance=this.newInstance();return this._instance;},newInstance:function(){var dataSource=new Y.FunctionDataSource(function(sQuery){return fitbit.app.food.common.getMeasures(sQuery,fitbit.app.food.common.addFoodUnitArray);});dataSource.maxCacheEntries=0;dataSource.responseType=Y.DataSourceBase.TYPE_JSARRAY;dataSource.responseSchema={fields:["amount","id"]};var acCtrl=fitbit.app.food.common.newAutoComplete('quantityselectinput','foodquantcontainer',dataSource);acCtrl.itemSelectEvent.subscribe(function(e,aArgs){var oMyAcInstance=aArgs[0];var elListItem=aArgs[1];var aData=aArgs[2];Y.Dom.get("unitId").value=aData.id;Y.Dom.get("quantityConsumed").value=aData.amount;});acCtrl.selectionEnforceEvent.subscribe(function(e,aArgs){var oMyAcInstance=aArgs[0];var elFirstListItem=oMyAcInstance._elList.firstChild;if(elFirstListItem&&oMyAcInstance._keyCode_!=27){var aData=elFirstListItem._oResultData;oMyAcInstance._elTextbox.value=aData.amount;oMyAcInstance.itemSelectEvent.fire(oMyAcInstance,elFirstListItem,aData);}else{Y.Dom.get("unitId").value='';Y.Dom.get("quantityConsumed").value='';}});return acCtrl;}};})();