
if(typeof(AR)=="undefined"){AR={};}
AR.PhotoPickerCarousel={MinimumFileSize:1024,MinimumImageDimension:20,ImgTotal:function(){return+($(".total-images").text());},CurrentImg:function(){return+($(".current-image").text());},SetUserSelection:function(currentImg){var selectedUrl=$(".image-selector-images img")[currentImg-1].src;$(".image-selector-result").val(selectedUrl);},Load:function(){$(".image-selector-container .left-arrow").css({opacity:.3,cursor:"default"});var imgTotal=AR.PhotoPickerCarousel.FilterTinyImages();if(imgTotal<=1){$(".image-selector-container .right-arrow").css({display:"none"});$(".image-selector-container .left-arrow").css({display:"none"});$(".image-selector-container").css({width:"51px"});}
if(imgTotal>0){AR.PhotoPickerCarousel.SetUserSelection(1);}
var objWidth=imgTotal*51;$(".image-selector-images").css({width:objWidth});$(".total-images").text(imgTotal);},ClickLeftArrow:function(){var imgTotal=AR.PhotoPickerCarousel.ImgTotal();var currentImg=AR.PhotoPickerCarousel.CurrentImg();if(currentImg>1){currentImg--;var newPos="-"+((currentImg*51)-51)+"px";$(".image-selector-images").animate({left:newPos},100);$(".current-image").text(currentImg);AR.PhotoPickerCarousel.SetUserSelection(currentImg);}
AR.PhotoPickerCarousel.CheckButtonAvailability(currentImg,imgTotal);},ClickRightArrow:function(){var imgTotal=AR.PhotoPickerCarousel.ImgTotal();var currentImg=AR.PhotoPickerCarousel.CurrentImg();if(currentImg<imgTotal){var newPos="-"+(currentImg*51)+"px";currentImg++;$(".image-selector-images").animate({left:newPos},100);$(".current-image").text(currentImg);AR.PhotoPickerCarousel.SetUserSelection(currentImg);}
AR.PhotoPickerCarousel.CheckButtonAvailability(currentImg,imgTotal);},CheckButtonAvailability:function(currentImg,imgTotal){if(currentImg==imgTotal){$(".image-selector-container .right-arrow").css({opacity:.3,cursor:"default"});}else{$(".image-selector-container .right-arrow").css({opacity:1.0,cursor:"pointer"});}
if(currentImg==1){$(".image-selector-container .left-arrow").css({opacity:.3,cursor:"default"});}else{$(".image-selector-container .left-arrow").css({opacity:1.0,cursor:"pointer"});}},FilterTinyImages:function(){var bigEnoughCount=0;$(".image-selector-images img").each(function(i){if(this.fileSize<AR.PhotoPickerCarousel.MinimumFileSize||(this.naturalHeight<AR.PhotoPickerCarousel.MinimumImageDimension||this.naturalWidth<AR.PhotoPickerCarousel.MinimumImageDimension)){$(this).remove();}else{bigEnoughCount++;}});if(bigEnoughCount==0){$(".image-selector-container").css({display:"none"});$(".image-selector-noimages").css({display:"block"});$(".image-selector-chknophoto").attr('checked',true);$(".image-selector-chknophoto").attr('disabled',true);}
return bigEnoughCount;}};$(document).ready(function(){$(".image-selector-container .left-arrow").click(AR.PhotoPickerCarousel.ClickLeftArrow);$(".image-selector-container .right-arrow").click(AR.PhotoPickerCarousel.ClickRightArrow);$(window).load(AR.PhotoPickerCarousel.Load);});function submitContactUsForm(){var isValid=true;if($(".contact-us-recipe-reply-address").attr("value")==null||$(".contact-us-recipe-reply-address").attr("value")==''){AR.MessageBox.ShowWarning('Your email is required',$("#contactUsEmailMessageBlockContainer"),false);isValid=false;}
if($(".contact-us-recipe-message").attr("value")==null||$(".contact-us-recipe-message").attr("value")==''){AR.MessageBox.ShowWarning('Message Content is required',$("#contactUsMessageBlockContainer"),false);isValid=false;}
if(isValid){AR.Cursor.SetWait();var messageSubject='Recipe Submissions - '+$(".contact-us-recipe-name").text()+' ('+$(".recipe-shared-item-id").attr("value")+')';var messageCategory='recipes';var messageText='SharedItemID:  '+$(".recipe-shared-item-id").attr("value")+'\nUser ID:   ';messageText=messageText+$(".recipe-item-owner-id").attr("value")+'\nApprovalStatus:  ';messageText=messageText+$(".recipe-approval-status").attr("value")+'\nStatus Updated:  ';messageText=messageText+$(".recipe-approval-status-updated").attr("value")+'\nRecipe Title:   ';messageText=messageText+$(".contact-us-recipe-name").text();messageText=messageText+'\nSubmitted Recipe Total:  ';messageText=messageText+$(".recipe-total").attr("value");messageText=messageText+'\n\nMessage:\n';messageText=messageText+$(".contact-us-recipe-message").attr("value");AR.ClientService.SuppressNextLoaderChange();AR.ClientService.ContactUs($(".contact-us-recipe-reply-address").attr("value"),messageSubject,messageText,messageCategory,function(response){if(response.ResponseCode==AR.ResponseCode.Success){AR.MessageBox.ShowSuccess(response.Message,$("#messageBlockContainer"),false);$(".contact-us-recipe-message").val('');AR.Dialog.CloseModalBox();}
else{if(response.ResponseCode==AR.ResponseCode.UserError){if(response.Message.match('email')){AR.MessageBox.ShowWarning(response.Message,$("#contactUsEmailMessageBlockContainer"),false);}
if(response.Message.match('message')){AR.MessageBox.ShowWarning(response.Message,$("#contactUsMessageBlockContainer"),false);}}
else{AR.MessageBox.ShowFailure(response.Message,$("#messageBlockContainer"),false);AR.Dialog.CloseModalBox();}}},errorHandling);AR.Cursor.SetDefault();}
else{return false;}}
function errorHandling(response){AR.MessageBox.ShowFailure('An unexpected error has occurred while processing your request.',$("#messageBlockContainer"),false);AR.Dialog.CloseModalBox();AR.Cursor.SetDefault();}
var JQ_CSS_CLASS=" arlb_jq";var STD_CSS_CLASS="btn";var PREF_CSS_CLASS="pref";var DISABLED_CSS_CLASS="disabled";var FORMAT_STANDARD="Standard";var FORMAT_PREFERRED="Preferred";var FORMAT_CUSTOM="Custom";function drawARButton(text,id,format,onclick,bEnabled){if(bEnabled==null){bEnabled=true;}
var html;html="<a id=\"";html+=id;html+="\"";html+=(!bEnabled)?" disabled=\"disabled\"":"";html+=" class=\""+getCSS(bEnabled)+"\"";html+=" href=\"#\"";html+=" onclick=\""+onclick+"; return false;\"";html+="><span>";html+=text;html+="</span></a>";return html;}
function getARButton(text,id,format,onclick,bEnabled){if(bEnabled==null){bEnabled=true;}
var button=document.createElement("a");button.setAttribute("id",id);button.setAttribute("class",getCSS(bEnabled));button.setAttribute("href","http://localhost:2099/WebForm1.aspx#");button.setAttribute("onclick",onclick+"; return false;");if(!bEnabled)button.setAttribute("disabled","disabled");oSpan=document.createElement("span");oSpan.appendChild(document.createTextNode(text));button.appendChild(oSpan);return button;}
function defaultButtonExtender(controlID,buttonID){$(document).ready(function(){$("#"+controlID).keypress(function(e){if(e.which==13){$("#"+buttonID).click();}});});}
function getCSS(bEnabled){var cssClass=JQ_CSS_CLASS;if(format!=FORMAT_CUSTOM){cssClass+=" "+STD_CSS_CLASS;if(format==FORMAT_PREFERRED){cssClass+=" "+PREF_CSS_CLASS;}}
if(!bEnabled){cssClass+=" "+DISABLED_CSS_CLASS;}
return cssClass;}
AR.Folders={};var MaxDepth=3;var MaxLengthFolderName=50;var indentDelim="• ";var VirtualFolders={"MyRecipeList":0,"":1,"UnCategorized":-1,"MyFolders":-2};var VirtualFolderExcludeFilter="[folderid!=0][folderid!=-1][folderid!=-2]";var VirtualFolderIncludeFilter="[folderid=0][folderid=-1][folderid=-2]";var RecipeBoxPath="Default.aspx?folder=";$(document).ready(function(){$(".tool-folder-add").click(function(){AR.Analytics.RecordAction(AR.Analytics.Event.Start,AR.Analytics.Action.Source.RecipeBox,AR.Analytics.Action.Type.FolderAdd);$("#msgAddFolderDialog").hide();AR.Dialog.ShowLayer(".modal-folder-add",function(){});$(".foldername-add").focus();$(".foldername-add").val("");var funcExclude=function(folderID){var isValid=AR.Folders.Validation.IsValidFolderDepth(folderID);if(isNaN(folderID)||(folderID>0&&!isValid)){return true;}
return false;};AR.Folders.Dom.LoadDropDownList($(".folder-add-ddl"),funcExclude,true);AR.Folders.Dom.SetDropdownSelected(".folder-add-ddl","0");});$(".tool-add-a-Subfolder").click(function(){parentID=this.id.replace("FolderAddSub","");if(AR.Folders.Validation.IsValidParentFolderID(parentID)&&!AR.Folders.Validation.IsValidFolderDepth(parentID)){AR.MessageBox.ShowWarning("Folders are restricted to "+(MaxDepth+1)+" levels deep.",".msg"+parentID);$(".toolbox-actions-trigger-active").click();}
else{$("#msgAddSubFolderDialog").hide();AR.Dialog.ShowLayer(".modal-folder-addsub",AR.Folders.Load.AddSub(AR.ServerSideData.GetByDom(this)));$(".foldername-addsub").focus();$(".foldername-addsub").val("");}});$(".tool-deletefolder").click(function(){$("#msgDeleteFolderDialog").hide();AR.Dialog.ShowLayer(".modal-folder-delete",AR.Folders.Load.Delete(AR.ServerSideData.GetByDom(this)));});$(".tool-folder-rename").click(function(){$("#msgRenameFolderDialog").hide();AR.Dialog.ShowLayer(".modal-folder-rename",AR.Folders.Load.Rename(AR.ServerSideData.GetByDom(this)));$(".foldername-rename").focus();$(".foldername-rename").val("");});$(".tool-folder-move").click(function(){$("#msgMoveFolderDialog").hide();AR.Dialog.ShowLayer(".modal-folder-move");AR.Folders.Load.Move(AR.ServerSideData.GetByDom(this));var folderID=parseInt($("#folderIDToMove",$(".modal-folder-move")).val());AR.Folders.Data.SetFolderIdAndDepthOffsetForMove(folderID);var funcExclude=function(newParentID){var isValid=AR.Folders.Validation.IsValidMoveDestination(newParentID,AR.Folders.Data.FolderIdToMove);if(isNaN(newParentID)||(newParentID>0&&!isValid)||newParentID==folderID){return true;}
return false;};AR.Folders.Dom.LoadDropDownList($(".folder-move-ddl"),funcExclude,true);AR.Folders.Dom.SetDropdownSelected(".folder-move-ddl","0");});});AR.Folders.Load={Add:function(data){},AddSub:function(data){if(data){if(!AR.Folders.Validation.IsValidFolderID(data.parentID)){AR.MessageBox.ShowFailure("You must first select a parent folder.","#msgAddSubFolderDialog",true);return false;}
else if(!AR.Folders.Validation.IsValidFolderDepth(data.parentid)){AR.MessageBox.ShowWarning("Folders are restricted to "+(MaxDepth+1)+" levels deep.","#msgAddSubFolderDialog",true);}
else{var layer=$(".modal-folder-addsub");$("#parentFolderIDAddSubTo",layer).attr("val",data.parentID);}}},Delete:function(data){if(data){if(!AR.Folders.Validation.IsValidFolderID(data.folderIDToDelete)){AR.Dialog.CloseModalBox();AR.MessageBox.ShowFailure("You must first select a folder to delete.",".msg"+data.folderIDToDelete);return false;}
else{var layer=$(".modal-folder-delete");$("#folderNameToDelete",layer).text(data.folderNameToDelete);$("#folderIDToDelete",layer).attr("val",data.folderIDToDelete);}}},Rename:function(data){if(data){if(!AR.Folders.Validation.IsValidFolderID(data.folderIDToRename)){AR.Dialog.CloseModalBox();AR.MessageBox.ShowFailure("You must first select a folder to rename.",".msg"+data.folderIDToRename);return false;}
else{var layer=$(".modal-folder-rename");$("#folderNameToRename",layer).text(data.folderNameToRename);$("#folderIDToRename",layer).attr("val",data.folderIDToRename);}}},Move:function(data){if(data){if(!AR.Folders.Validation.IsValidFolderID(data.folderIDToMove)){AR.Dialog.CloseModalBox();AR.MessageBox.ShowFailure("You must first select a folder to move.",".msg"+data.folderIDToMove);return false;}
else{var layer=$(".modal-folder-move");$("#folderNameToMove",layer).text(data.folderNameToMove);$("#folderIDToMove",layer).val(data.folderIDToMove);}}}}
AR.Folders.Action={Create:function(name,parentFolderID,msgBoxSelector){var callback=function(data){if(data.ResponseCode==AR.ResponseCode.Success){AR.Analytics.RecordAction(AR.Analytics.Event.Complete,AR.Analytics.Action.Source.RecipeBox,AR.Analytics.Action.Type.FolderAdd);AR.Toolbox.Close();$(".message-box").text("");AR.Folders.Dom.AddFolderToList(".navList",data.Data.ParentID,data.Data.ID,data.Data.Name,AR.Folders.Dom.CloneFolderListItem);AR.Folders.Dom.AddFolderToList(".myFolders",data.Data.ParentID,data.Data.ID,data.Data.Name,AR.Folders.Dom.CloneMyFoldersItem);if(data.Data.ParentID==VirtualFolders.MyRecipeList){AR.MessageBox.ShowSuccess(data.Message,"#msgClientPage");}
else{AR.MessageBox.ShowSuccess(data.Message,".msg"+data.Data.ParentID);}}
else if(data.ResponseCode==AR.ResponseCode.UserError){AR.MessageBox.PrintMessage(msgBoxSelector,AR.MessageBox.MessageType.Warning,data.Message,false);}
else{AR.MessageBox.PrintMessage(msgBoxSelector,AR.MessageBox.MessageType.Failure,data.Message,false);AR.Folders.Response.Error({operation:"Create",FolderName:name,ParentFolderID:parentFolderID});}};try{invalidNameMsg=AR.Folders.Validation.IsValidName(name,parentFolderID);if(invalidNameMsg.length>0){AR.MessageBox.ShowFailure(invalidNameMsg,msgBoxSelector);}
else if(!AR.Folders.Validation.IsValidParentFolderID(parentFolderID)){AR.MessageBox.ShowFailure("Please select a folder.",msgBoxSelector,true);}
else if(!AR.Folders.Validation.IsValidFolderDepth(parentFolderID)){AR.MessageBox.ShowFailure("Folders are restricted to "+(MaxDepth+1)+" levels deep.",msgBoxSelector,true);}
else{AR.ClientService.CreateFolder(name,parentFolderID,callback);}}
catch(err){AR.Folders.Response.Error({operation:"Create",FolderName:name,ParentFolderID:parentFolderID});}},CreateSub:function(name){var parentFolderID=$("#parentFolderIDAddSubTo",$(".modal-folder-addsub")).attr("val");try{AR.Folders.Action.Create(name,parentFolderID,"#msgAddSubFolderDialog");}
catch(err){AR.Folders.Response.Error({operation:"CreateSub",FolderName:name,ParentFolderID:parentFolderID});}},Delete:function(id,name){var parentID=parseInt(AR.Folders.Dom.getFolder(".navList",id).attr("parentid"));var callback=function(data){if(data.ResponseCode==AR.ResponseCode.Success){AR.Toolbox.Close();$(".message-box").text("");AR.Folders.Dom.RemoveFolderFromList(".myFolders",data.Data.ID);AR.Folders.Dom.RemoveFolderFromList(".navList",data.Data.ID);if(parentID==VirtualFolders.MyRecipeList){AR.MessageBox.ShowSuccess(data.Message,"#msgClientPage");}
else{AR.MessageBox.ShowSuccess(data.Message,".msg"+parentID);}}
else{AR.Folders.Response.Error({operation:"delete",FolderName:name,FolderID:id});if(parentID==VirtualFolders.MyRecipeList){AR.MessageBox.ShowFailure(data.Message,"#msgClientPage");}
else{AR.MessageBox.ShowFailure(data.Message,".msg"+parentID);}}};try{if(!AR.Folders.Validation.IsValidFolderID(id)){AR.MessageBox.ShowFailure("Please select a folder to delete.","#msgDeleteFolderDialog",true);}
else{AR.ClientService.DeleteFolder(id,name,callback);}}
catch(err){AR.Folders.Response.Error({operation:"Delete",FolderName:name,FolderID:id});}},Rename:function(id,nameNew,nameOld){var callback=function(data){AR.Toolbox.Close();$(".message-box").text("");if(data.ResponseCode==AR.ResponseCode.Success){$(".FolderName"+id).each(function(){$(this).html($(this).html().replace(nameOld,data.Data.Name))});AR.ServerSideData.Set({"folderIDToRename":id,"folderNameToRename":data.Data.Name},"FolderRename"+id);AR.MessageBox.ShowSuccess(data.Message,".msg"+data.Data.ID);}
else{AR.MessageBox.ShowFailure(data.Message,".msg"+parentID);AR.Folders.Response.Error({operation:"Rename",FolderID:id,NewName:nameNew,OldName:nameOld});}};try{parentFolderID=parseInt(AR.Folders.Dom.getFolder(".navList",id).attr("parentid"));invalidNameMsg=AR.Folders.Validation.IsValidName(nameNew,parentFolderID);if(invalidNameMsg.length>0||!AR.Folders.Validation.IsValidFolderID(id)){AR.MessageBox.ShowFailure(invalidNameMsg,"#msgRenameFolderDialog",true);}
else{AR.ClientService.RenameFolder(id,nameNew,nameOld,callback);}}
catch(err){AR.Folders.Response.Error({operation:"Rename",FolderID:id,NewName:nameNew,OldName:nameOld});}},Move:function(id,newParentID,name){var callback=function(data){AR.Toolbox.Close();$(".message-box").text("");if(data.ResponseCode==AR.ResponseCode.Success){AR.Folders.Dom.MoveFolderInList(".navList","a",data.Data.ParentID,data.Data.ID);AR.Folders.Dom.MoveFolderInList(".myFolders",".folder-list-thumb",data.Data.ParentID,data.Data.ID);$(".toolbox-header h1").hide();AR.MessageBox.ShowSuccess(data.Message,".msg"+data.Data.ID);}
else{AR.Folders.Response.Error({operation:"Move",FolderID:id,NewParentID:newParentID,Name:name});AR.MessageBox.ShowFailure(data.Message,".msg"+data.Data.ID);}};try{invalidNameMsg=AR.Folders.Validation.IsValidName(name,newParentID);if(invalidNameMsg.length>0){AR.MessageBox.ShowFailure(invalidNameMsg,"#msgMoveFolderDialog",true);}
else if(!AR.Folders.Validation.IsValidFolderID(id)){AR.MessageBox.ShowFailure("Invalid folder to move.","#msgMoveFolderDialog",true);}
else if(!AR.Folders.Validation.IsValidFolderID(newParentID)){AR.MessageBox.ShowFailure("Invalid destination folder.","#msgMoveFolderDialog",true);}
else if(!AR.Folders.Validation.IsValidMoveDestination(newParentID,id)){AR.MessageBox.ShowFailure("Sorry, you cannot move this folder to here because it or one of its subfolders would exceed the maximum depth level.","#msgMoveFolderDialog",true);}
else{AR.ClientService.MoveFolder(id,newParentID,name,callback);}}
catch(err){AR.Folders.Response.Error({operation:"Move",FolderID:id,NewParentID:newParentID,Name:name});}}}
AR.Folders.Dom={AddFolderToList:function(nodeTypeClass,parentID,folderID,folderName,cloneFunction){var cloneSource=this.getFolder(nodeTypeClass,VirtualFolders.MyFolders);var newDepth=(parentID==0)?0:parseInt(this.getFolder(nodeTypeClass,parentID).attr("depth"))+1;var item=cloneFunction(cloneSource,folderID,folderName,newDepth);$(item).attr("parentid",parentID);if(parentID>0){this.insertItem(this.getFolder(nodeTypeClass,parentID),item);}
else{this.insertItem(cloneSource,item);}
this.SortFolderItems(nodeTypeClass,parentID);if(nodeTypeClass==".navList"){AR.Folders.Dom.UpdateSavedItemCount(VirtualFolders.MyFolders,1);}},RemoveFolderFromList:function(nodeTypeClass,folderID){var funcRemoveChildren=function(parentID){var parent=AR.Folders.Dom.getFolder(".folderItem",parentID);var children=$(".folderItem.navList[parentid="+parentID+"]");children.each(function(){var thisFolderID=$(this).attr("folderid");var thisFolder=AR.Folders.Dom.getFolder(nodeTypeClass,thisFolderID);thisFolder.slideUp(300,function(){thisFolder.remove();});if(nodeTypeClass==".navList"){AR.Folders.Dom.UpdateSavedItemCount(VirtualFolders.MyFolders,-1);}
funcRemoveChildren(thisFolderID);});}
AR.Folders.Dom.getFolder(nodeTypeClass,folderID).slideUp(300,function(){AR.Folders.Dom.getFolder(nodeTypeClass,folderID).remove();});if(nodeTypeClass==".navList"){AR.Folders.Dom.UpdateSavedItemCount(VirtualFolders.MyFolders,-1);}
funcRemoveChildren(folderID);},MoveFolderInList:function(nodeTypeClass,selectorIndent,newParentID,folderID){var firstParentItem=this.getFolder(nodeTypeClass,newParentID);var firstItem=this.getFolder(nodeTypeClass,folderID);var prevItem=firstParentItem;var oldParentID=$(firstItem).attr("parentid");var oldDepth=(oldParentID==0)?0:parseInt(this.getFolder(".navList",oldParentID).attr("depth"))+1;var newDepth=(newParentID==0)?0:parseInt($(firstParentItem).attr("depth"))+1;var depthOffset=newDepth-oldDepth;$(firstItem).attr("parentid",newParentID);var funcMove=function(parentItem,item){AR.Folders.Dom.insertItem($(prevItem),item);var oldDepth=parseInt(item.attr("depth"));var newDepth=oldDepth+depthOffset;if(oldDepth!=newDepth){item.attr("depth",newDepth);var indent=$(selectorIndent,item);indent.removeClass("level-"+AR.Folders.Dom.getDepthName(oldDepth));indent.addClass("level-"+AR.Folders.Dom.getDepthName(newDepth));}
if(parseInt($(prevItem).attr("folderid"))==newParentID){AR.Folders.Dom.SortFolderItems(nodeTypeClass,newParentID);}
prevItem=item;var children=$(".folderItem."+nodeTypeClass+"[parentid="+$(item).attr("folderid")+"]");children.each(function(){funcMove(item,$(this));});};funcMove(firstParentItem,firstItem);},CloneFolderListItem:function(original,id,name,newDepth){var clone=original.clone(true);var parentID=original.attr("folderid");var oldDepth=parseInt(original.attr("depth"))
var liFolder=clone;liFolder.attr("folderid",id);liFolder.attr("parentid",-1);liFolder.attr("depth",newDepth);liFolder.show();var aFolder=$("a",clone);aFolder.addClass("notbold");aFolder.addClass("level-"+AR.Folders.Dom.getDepthName(newDepth));aFolder.removeAttr("style");aFolder.attr("href",RecipeBoxPath+id);aFolder.attr("title",name);aFolder.html("<div class=\"ellipsis2 FolderName"+id+"\">"+name+"</div>&nbsp;<span class=\"savedItemCount"+id+"\">(0)</span>");return clone;},CloneMyFoldersItem:function(original,id,name,newDepth){var clone=original.clone(true);var parentID=original.attr("folderid");var oldDepth=parseInt(original.attr("depth"))
var divFolder=clone;divFolder.removeClass("myFoldersItem"+parentID);divFolder.addClass("myFoldersItem"+id);divFolder.attr("folderid",id);divFolder.attr("parentid",-1);divFolder.attr("depth",newDepth);divFolder.removeAttr("style");var liFolder=$(".recipe-box-list .folder-list-thumb",clone);liFolder.removeClass("level-"+AR.Folders.Dom.getDepthName(oldDepth));liFolder.addClass("level-"+AR.Folders.Dom.getDepthName(newDepth));var spanFolderName=$(".FolderName"+parentID,clone);spanFolderName.removeClass("FolderName"+parentID);spanFolderName.addClass("FolderName"+id);spanFolderName.text(name);var spanFolderCount=$(".spanFolderCount"+parentID,clone);spanFolderCount.removeClass("FolderName"+parentID);spanFolderCount.addClass("FolderName"+id);spanFolderCount.text(" (0)");var now=new Date();$(".folderDate",divFolder).text(AR.Folders.Dom.getMonthName(now.getMonth())+" "+now.getDate()+", "+now.getFullYear());var divMsg=$(".msg"+parentID,clone);divMsg.removeClass("msg"+parentID);divMsg.addClass("msg"+id);var liAddSub=$(".tool-add-a-Subfolder",clone).parent();if(newDepth>=MaxDepth){liAddSub.hide();}
AR.ServerSideData.Set({"folderIDToRename":id,"folderNameToRename":name},"FolderRename"+id);AR.ServerSideData.Set({"folderIDToMove":id,"folderNameToMove":name},"FolderMove"+id);AR.ServerSideData.Set({"parentID":id,"name":name},"FolderAddSub"+id);AR.ServerSideData.Set({"folderIDToDelete":id,"folderNameToDelete":name},"FolderDelete"+id);$(".tool-add-a-Subfolder",divFolder).unbind("click");$(".tool-add-a-Subfolder",divFolder).click(function(){parentID=this.id.replace("FolderAddSub","");if(AR.Folders.Validation.IsValidParentFolderID(parentID)&&!AR.Folders.Validation.IsValidFolderDepth(parentID)){AR.MessageBox.ShowFailure("Folders are restricted to "+(MaxDepth+1)+" levels deep.",".msg"+id);$(".toolbox-actions-trigger-active").click();}
else{$("#msgAddSubFolderDialog").hide();AR.Dialog.ShowLayer(".modal-folder-addsub",AR.Folders.Load.AddSub(AR.ServerSideData.Get("FolderAddSub"+id)));$(".foldername-addsub").focus();$(".foldername-addsub").val("");}});$(".tool-deletefolder",divFolder).unbind("click");$(".tool-deletefolder",divFolder).click(function(){$("#msgDeleteFolderDialog").hide();AR.Dialog.ShowLayer(".modal-folder-delete",AR.Folders.Load.Delete(AR.ServerSideData.Get("FolderDelete"+id)));});$(".tool-folder-rename",divFolder).unbind("click");$(".tool-folder-rename",divFolder).click(function(){$("#msgRenameFolderDialog").hide();AR.Dialog.ShowLayer(".modal-folder-rename",AR.Folders.Load.Rename(AR.ServerSideData.Get("FolderRename"+id)));$(".foldername-rename").focus();$(".foldername-rename").val("");});$(".tool-folder-move",divFolder).unbind("click");$(".tool-folder-move",divFolder).click(function(){$("#msgMoveFolderDialog").hide();AR.Dialog.ShowLayer(".modal-folder-move");AR.Folders.Load.Move(AR.Folders.Load.Move(AR.ServerSideData.Get("FolderMove"+id)));var folderID=parseInt($("#folderIDToMove",$(".modal-folder-move")).val());AR.Folders.Data.SetFolderIdAndDepthOffsetForMove(folderID);var funcExclude=function(newParentID){var isValid=AR.Folders.Validation.IsValidMoveDestination(newParentID,AR.Folders.Data.FolderIdToMove);if(isNaN(newParentID)||(newParentID>0&&!isValid)||newParentID==folderID){return true;}
return false;};AR.Folders.Dom.LoadDropDownList($(".folder-move-ddl"),funcExclude,true);AR.Folders.Dom.SetDropdownSelected(".folder-move-ddl","0");});return clone;},LoadDropDownList:function(ddl,funcExclude,allowBlankFirstItem){var userFolders=AR.Folders.Data.GetList();var newDropdownOptions=[];ddl.empty();var getOption=function(text,value){var newDropdownOption=$('<option></option');newDropdownOption.text(text);newDropdownOption.val(value);return newDropdownOption;};if(allowBlankFirstItem){ddl.append(getOption("[Top Level]","0"));}
$.each(userFolders,function(){if(!funcExclude(this.FolderID)){var textString=(new Array(this.Depth+1).join(indentDelim))+this.Name;ddl.append(getOption(textString,this.FolderID));}});},SortFolderItems:function(nodeTypeClass,parentID){var funcSort=function(a,b){var keyA=$(a).text().trim().toUpperCase();var keyB=$(b).text().trim().toUpperCase();if(keyA>keyB)return-1;if(keyA<keyB)return 1
return 0;};var getFolder=this.getFolder;var items;var myFoldersFolder=getFolder(nodeTypeClass,VirtualFolders.MyFolders);var parent=(parentID==0)?myFoldersFolder:getFolder(nodeTypeClass,parentID);var startDepth=parseInt(parent.attr("depth"));for(depth=startDepth;depth<=MaxDepth;depth++){items=$(".folderItem"+nodeTypeClass).filter(function(){return(parseInt($(this).attr("depth"))==depth&&parseInt($(this).attr("folderid"))>0);});items.sort(funcSort);items.each(function(){var thisParent=$(this).attr("parentid");parent=(thisParent==0)?myFoldersFolder:getFolder(nodeTypeClass,thisParent);parent.after(this);});}},UpdateSavedItemCount:function(folderID,delta){var countString=$(".savedItemCount"+folderID).text();var regex=new RegExp(/\((\d*)\)/);var count=parseInt(regex.exec(countString)[1]);var newCount=count+delta;if(newCount<0)
newCount=0;var newText=" ("+newCount+")";$(".savedItemCount"+folderID).text(newText);},SetDropdownSelected:function(ddlSelector,value){try{$(ddlSelector).val(value);}
catch(ex){setTimeout("$('"+ddlSelector+"').val('"+value+"')",1);}},getFolder:function(nodeTypeClass,id){return $(".folderItem"+nodeTypeClass+"[folderid="+id+"]");},getDepthName:function(depth){switch(depth){case 0:return"one";break;case 1:return"two";break;case 2:return"three";break;case 3:return"four";break;default:return"";break;}},getMonthName:function(monthNumber){var months=new Array("January","February","March","April","May","June","July","August","September","October","November","December");return months[monthNumber];},insertItem:function(previousItem,item){$(item).slideUp();$(previousItem).after(item);$(item).slideDown(300);}}
AR.Folders.Validation={IsValidName:function(name,parentID){var ret="";if(name.toString().length<=0){ret="Please enter a folder name.";}
if(name.toString().length>MaxLengthFolderName){ret="Please enter a folder name that is "+MaxLengthFolderName+" characters or less.";}
var dupe=false;$(".folderItem.navList[parentid="+parentID+"]").each(function(){var currName=$(".ellipsis2",this).text().trim();if(currName.toLowerCase()==name.toLowerCase()){dupe=true;return;}});if(dupe){ret="There is already a folder named '"+name+"' in folder '"+$(".ellipsis2",AR.Folders.Dom.getFolder(".navList",parentID)).text().trim()+"'.";}
if(ret.length>0){$(".foldername-rename").focus();}
return ret;},IsValidFolderID:function(folderID){var ret=true;if(isNaN(folderID)||folderID<0){$(".select-folder-add").focus();ret=false;}
return ret;},IsValidParentFolderID:function(folderID){var ret=true;if(folderID.length==0||isNaN(folderID)){$(".select-folder-add").focus();ret=false;}
return ret;},IsValidFolderDepth:function(parentID){var ret=true;var thisDepth=parseInt(AR.Folders.Dom.getFolder(".navList",parentID).attr("depth"));if(thisDepth>=MaxDepth){ret=false;}
return ret;},IsValidMoveDestination:function(newParentID,folderID){for(i=0;i<AR.Folders.Data.FolderIDsToSkipForMove.length;i++){if(AR.Folders.Data.FolderIDsToSkipForMove[i]==newParentID){return false;}}
var parent=AR.Folders.Dom.getFolder(".navList",newParentID);var parentDepth=parseInt(parent.attr("depth"));var newMaxDepth=(parentDepth+AR.Folders.Data.DepthOffsetForMove);return(newMaxDepth<=MaxDepth);}}
AR.Folders.Response={Success:function(data,msgbox){if(data.ResponseCode==0){AR.MessageBox.ShowSuccess(data.Message,msgbox);}
else{AR.MessageBox.ShowFailure(data.Message,msgbox);}
AR.Toolbox.Close();},Error:function(data){AR.LogErrorEx(data,'RBFolders.js',"Error thrown in AR.Folders");AR.Dialog.CloseModalBox();}}
function Item(){}
Item.prototype.FolderID=0;Item.prototype.ParentID=0;Item.prototype.Name="";Item.prototype.Depth=0;Item.prototype.ItemCount=0;AR.Folders.Data={FolderIdToMove:0,DepthOffsetForMove:0,FolderIDsToSkipForMove:[],SetFolderIdAndDepthOffsetForMove:function(folderID){var tempDepth=-1;var folderIDsToSkip=new Array();var getMaxDepth=function(checkFolderID){folderIDsToSkip.push(checkFolderID);var thisDepth=AR.Folders.Dom.getFolder(".navList",checkFolderID).attr("depth");if(thisDepth>tempDepth){tempDepth=thisDepth;}
var children=$(".folderItem.navList[parentid="+checkFolderID+"]");children.each(function(){getMaxDepth($(this).attr("folderid"));});return tempDepth;}
var rootChildDepth=AR.Folders.Dom.getFolder(".navList",folderID).attr("depth");var maxChildDepth=getMaxDepth(folderID);this.FolderIDsToSkipForMove=folderIDsToSkip;this.FolderIdToMove=folderID;this.DepthOffsetForMove=(maxChildDepth-rootChildDepth+1);},GetList:function(){funcAddItem=function addItem(folderCollection){var item=new Item();var folderNode=$(this);if(folderNode.attr("folderid")){var text=$("a",this).text();var regex=new RegExp(/(.*)\s*\((\d*)\)/);var matches=regex.exec(text);if(matches!=null){item.Name=matches[1];item.ItemCount=parseInt(matches[2]);item.FolderID=parseInt(folderNode.attr("folderid"));item.ParentID=parseInt(folderNode.attr("parentid"));item.Depth=parseInt(folderNode.attr("depth"));folderCollection.push(item);}}}
var folderCollection=new Array();var list=$(".navlist-div").children($("ul")).children().filter(function(){return(parseInt($(this).attr("folderid"))>0);})
list.each(funcAddItem,new Array(folderCollection));return folderCollection;}}
$(document).ready(function(){AR.ShoppingList.Create.Load();AR.ShoppingList.Rename.Load();AR.ShoppingList.ChangeServings.Load();AR.ShoppingList.RecipeListView.Load();AR.ShoppingList.GroceryItems.Load();});AR.ShoppingList={Utilities:{GetGroceryAisle:function(groceryAisleID,groceryAisleName){var aisleClass='grocery-aisle'+groceryAisleID;if($("."+aisleClass).length<=0){var newAisle='<h4 class="grocery-aisle-header '+aisleClass+'">'+groceryAisleName+'</h4><div></div>';$('.grocery-item-view-header').next().after(newAisle);}
return $("."+aisleClass);},GetMiscellaneousAisle:function(){if($(".misc-grocery-item-view-header").length==0){var newAisle='<h4 class="grocery-aisle-header misc-grocery-item-view-header">Miscellaneous</h4><div></div>';$('.grocery-item-view-header').next().after(newAisle);}
return $(".misc-grocery-item-view-header");},GetGroceryAisleInformationFromDropdown:function(dropdown){dropdown=$(dropdown);return{ID:dropdown.val(),Name:dropdown.find('option:selected').text()};},AddItemToAisle:function(shoppingListGroceryItemID,name,groceryAisleID,groceryAisleName){var newLinkID='delete'+shoppingListGroceryItemID;var newItem=$("<div>").addClass("shopping-list-item")
newItem.html('<input class="edit-grocery-list-disabled GroceryItem hello" maxlength="100" type="text" disabled="disabled"'+' value="'+name+'" style="" /><div class="delete-grocery-item">'+'<a id="'+newLinkID+'" class="modal-link unsavedExempt grocery-item-delete"'+' onmouseout="window.status=\'\'; return true;" onmouseover="window.status=\'Delete\'; return true;"'+' rel="" href="javascript:void(0);" style="display: none;">Delete</a></div>');newItem.append($("<span>").addClass("isDeletedGroceryItem").addClass("hidden-grocery-item-deleted"+shoppingListGroceryItemID).css("display","none").html(0));newItem.append($("<span>").addClass("hidden-grocery-item-original"+shoppingListGroceryItemID).css("display","none").html(name));newItem.append($("<span>").addClass("sort-key").css("display","none").html(name));var theAisle=null;if(groceryAisleID>=0)
theAisle=AR.ShoppingList.Utilities.GetGroceryAisle(groceryAisleID,groceryAisleName);else
theAisle=AR.ShoppingList.Utilities.GetMiscellaneousAisle();var aisleContents=theAisle.next();var insertSortValue=name.toLowerCase();var insertPosition=0;var sortKeysOfExistingItems=aisleContents.find(".shopping-list-item .sort-key").each(function(index){var sortValue=$(this).html();if(sortValue<insertSortValue){insertPosition=index+1;return true;}else{return false;}});if(insertPosition==0){aisleContents.prepend(newItem);}else{aisleContents.find('.shopping-list-item:eq('+(insertPosition-1)+')').after(newItem);}
AR.ServerSideData.Set({"groceryAisleID":groceryAisleID,"shoppingListGroceryItemID":shoppingListGroceryItemID},newLinkID);setTimeout(function(){$('.hello').removeClass('hello');},5000);},HideGroceryAisles:function(){$('.grocery-aisle-header').each(function(){if($(this).next().find('.shopping-list-item:visible').length==0){$(this).fadeOut(AR.AnimationSpeed());}});},RemoveGroceryAisles:function(){$('.grocery-aisle-header').each(function(){if($(this).next().find('.shopping-list-item:visible').length==0){$(this).remove();}});},UpdateDisplayForNonEmptyShoppingList:function(){$('.empty-grocery-items').hide();if($('.edit-grocery-items').length==0){var span=$('<span>').html("| ");var anchor=$(' <a>').addClass('edit-grocery-items').attr('href','javascript:void(0);').html('Edit');$('.grocery-item-view-header').append(span).append(anchor);}
else if($('.edit-grocery-items:visible').length==0){$('.edit-grocery-items').fadeIn(AR.AnimationSpeed()).prev().fadeIn(AR.AnimationSpeed());}},ShowEmptyGroceryItems:function(){if($('.isDeletedGroceryItem,.isDeletedRecipeItem,.isDeletedPersonalRecipeItem').length==0){$('.edit-grocery-items').fadeOut(AR.AnimationSpeed()).prev().fadeOut(AR.AnimationSpeed());var p1=$('<p>').addClass('empty-grocery-items').html('<b>You have not added</b> any grocery items to your shopping list.');var p2=$('<p>').addClass('empty-grocery-items').html('<b>Choose an aisle</b> at right to begin adding items or add your own.');$('.grocery-button-bar').before(p1).before(p2);}}},Create:{Load:function(){$(".create-shopping-list").click(function(){$('#msgCreateDialog').hide();AR.Dialog.ShowLayer(".modal-create-shopping-list",null);$(".new-shopping-list").focus();AR.Analytics.RecordAction(AR.Analytics.Event.Start,AR.Analytics.Action.Source.ShoppingList,AR.Analytics.Action.Type.ShoppingListCreate);});$(".new-shopping-list").unbind("keyup").bind("keyup",function(){AR.ShoppingList.Create.ToggleBinding();});AR.ShoppingList.Create.ToggleBinding();},ToggleBinding:function(){if(typeof($(".new-shopping-list").val())!="undefined"&&$(".new-shopping-list").val().trim().length>0){$(".add-shopping-list").css({opacity:1.0});$(".add-shopping-list").unbind("click").bind("click",function(e){AR.ShoppingList.Create.Execute();});$(".modal-create-shopping-list").unbind("keypress").bind("keypress",function(e){if(e.keyCode==13){AR.ShoppingList.Create.Execute();}});}else{$(".add-shopping-list").css({opacity:0.5});AR.ShoppingList.Create.Unbind();}},Execute:function(){AR.Cursor.SetWait();var name=$('.new-shopping-list').val().trim();AR.ShoppingList.Create.Unbind();AR.ClientService.SuppressNextLoaderChange();AR.ClientService.CreateShoppingList(name,$('.make-default-check').attr('checked'),AR.ShoppingList.Create.Callback);},Unbind:function(){$(".modal-create-shopping-list").unbind("keypress");$(".add-shopping-list").unbind("click");},Callback:function(data){if(data.ResponseCode==AR.ResponseCode.Success){AR.Analytics.RecordAction(AR.Analytics.Event.Complete,AR.Analytics.Action.Source.ShoppingList,AR.Analytics.Action.Type.ShoppingListCreate);var newItem="<li class='new-item-wrap'><a class=\"default-list add-to-folder-background\" href=\"Default.aspx?shoppingListID="+data.Data+"\">"+$('.new-shopping-list').val();if($(".make-default-check:checked").length==1){$('.default').remove();newItem+="<img class=\"default\" src=\""+AR.ImageServer+"/ar/myar/shoppinglist/default-check.png\" />";if($('.make-default-link').length==0){$('.sectionheader h3').after("| <a class=\"make-default-link\" href=\"javascript:__doPostBack('ctl00$CenterColumnPlaceHolder$ucHeader$lnkMakeDefault','')\">Make this my default list</a>");}}
newItem+="</a></li>";$('.navlist-div ul li').eq(0).after(newItem).slideDown("slow");setTimeout(function(){$('.add-to-folder-background').removeClass('add-to-folder-background');},5000);$('.new-shopping-list').val('');$('.message-server').hide();AR.MessageBox.PrintMessage('#msgClientPage',AR.MessageBox.MessageType.Success,data.Message,false);AR.Dialog.CloseModalBox();}
else if(data.ResponseCode==AR.ResponseCode.UserError){AR.MessageBox.PrintMessage('.new-list-error',AR.MessageBox.MessageType.Warning,data.Message,false);}
else{AR.ShoppingList.Create.Error();}
AR.Cursor.SetDefault();},Error:function(data){AR.MessageBox.PrintMessage('#msgClientPage',AR.MessageBox.MessageType.Failure,"Oops! There was an unexpected error while creating your shopping list.",false);AR.Dialog.CloseModalBox();AR.Cursor.SetDefault();}},ChangeServings:{Load:function(){$(".open-change-servings-modal").click(function(){$('.change-servings-list-error').hide();AR.Dialog.ShowLayer(".modal-change-servings",AR.ShoppingList.ChangeServings.SetData(AR.ServerSideData.GetByDom(this)));$(".change-servings-input").focus().select();});$(".change-servings-input").unbind("keyup").bind("keyup",function(){AR.ShoppingList.ChangeServings.ToggleBinding();});AR.ShoppingList.ChangeServings.ToggleBinding();},SetData:function(serverItem){var currentServings=$(".hidden-servings-"+serverItem.recipeID).text();$('.recipe-name').text(serverItem.title);$('.change-servings-input').val(currentServings);$('#change-servings-recipe-id').val(serverItem.recipeID);},ToggleBinding:function(){if(typeof($(".change-servings-input").val())!="undefined"&&$(".change-servings-input").val().length>0){$(".change-servings-commit").css({opacity:1.0});$(".change-servings-commit").unbind("click").bind("click",function(e){AR.ShoppingList.ChangeServings.Execute();});$(".modal-change-servings").unbind("keypress").bind("keypress",function(e){if(e.keyCode==13){AR.ShoppingList.ChangeServings.Execute();}});}
else{$(".change-servings-commit").css({opacity:0.5});AR.ShoppingList.ChangeServings.Unbind();}},Execute:function(){var servingsInput=$('.change-servings-input');var servings=servingsInput.val();var recipeID=$('#change-servings-recipe-id').val();var invalidServingSizeWarning='You must enter a number between 1 and 300.';if(!servingsInput.isInt()){AR.MessageBox.ShowWarning(invalidServingSizeWarning,'.change-servings-list-error');}
else if(servings<=0){AR.MessageBox.ShowWarning(invalidServingSizeWarning,'.change-servings-list-error');}
else if(servings>300){AR.MessageBox.ShowWarning(invalidServingSizeWarning,'.change-servings-list-error');}
else{AR.ShoppingList.ChangeServings.Unbind();$('#change-servings-data'+recipeID).text('('+servings+' servings)');$(".hidden-servings-"+recipeID).text(servings);$(".hidden-servings-"+recipeID).next().text(recipeID+","+servings);AR.Dialog.CloseModalBox();}},Unbind:function(){$(".modal-change-servings").unbind("keypress");$(".change-servings-commit").unbind("click");}},Rename:{Load:function(){$(".rename-shopping-list").click(function(){$('.rename-list-error').hide();AR.Dialog.ShowLayer(".modal-rename-shopping-list",AR.ShoppingList.Rename.SetData(AR.ServerSideData.GetByDom(this)));$(".rename-shopping-list-input").focus();});$(".rename-shopping-list-input").unbind("keyup").bind("keyup",function(){AR.ShoppingList.Rename.ToggleBinding();});AR.ShoppingList.Rename.ToggleBinding();},SetData:function(serverItem){$('.rename-shopping-list-label').html("Change <b>"+serverItem.title+"</b> to:");$('#rename-shopping-list-id').val(serverItem.shoppingListID);},ToggleBinding:function(){if(typeof($(".rename-shopping-list-input").val())!="undefined"&&$(".rename-shopping-list-input").val().trim().length>0){$(".rename-shopping-list-commit").css({opacity:1.0});$(".rename-shopping-list-commit").unbind("click").bind("click",function(e){AR.ShoppingList.Rename.Execute();});$(".modal-rename-shopping-list").unbind("keypress").bind("keypress",function(e){if(e.keyCode==13){AR.ShoppingList.Rename.Execute();}});}
else{$(".rename-shopping-list-commit").css({opacity:0.5});AR.ShoppingList.Rename.Unbind();}},Execute:function(){AR.Cursor.SetWait();AR.ShoppingList.Rename.Unbind();AR.ClientService.SuppressNextLoaderChange();AR.ClientService.RenameShoppingList($('#rename-shopping-list-id').val(),$('.rename-shopping-list-input').val().trim(),AR.ShoppingList.Rename.Callback);},Unbind:function(){$(".modal-rename-shopping-list").unbind("keypress");$(".rename-shopping-list-commit").unbind("click");},Callback:function(data){if(data.ResponseCode==AR.ResponseCode.Success){var nameSelector=$('.rename-shopping-list-input');var newName=nameSelector.val();$('.sectionheader h3').text(newName);$('.selected').text(newName);AR.ServerSideData.GetByDom(".rename-shopping-list").title=newName;nameSelector.val('');$('.message-server').hide();AR.MessageBox.PrintMessage('#msgClientPage',AR.MessageBox.MessageType.Success,data.Message,false);AR.Dialog.CloseModalBox();}
else if(data.ResponseCode==AR.ResponseCode.UserError){AR.MessageBox.PrintMessage('.rename-list-error',AR.MessageBox.MessageType.Warning,data.Message,false);}
else{AR.ShoppingList.Rename.Error(data);}
AR.Cursor.SetDefault();},Error:function(data){if(AR.ShouldLogResponseCode(data.ResponseCode)){AR.LogErrorEx({ID:AR.LogEval("$('#rename-shopping-list-id').val()"),Name:AR.LogEval("$('.rename-shopping-list-input').val()")},'shopping-list.js','Error renaming shopping list');}
AR.MessageBox.PrintMessage('#msgClientPage',AR.MessageBox.MessageType.Failure,"Oops! There was an unexpected error while renaming your shopping list.",false);AR.Dialog.CloseModalBox();AR.Cursor.SetDefault();}},RecipeListView:{Load:function(){AR.ShoppingList.RecipeListView.LoadRecipeEditClick();AR.ShoppingList.RecipeListView.LoadGroceryItemEditClick();AR.ShoppingList.RecipeListView.LoadRecipeDeleteClick();AR.ShoppingList.RecipeListView.LoadPersonalRecipeDeleteClick();AR.ShoppingList.RecipeListView.LoadGroceryItemDeleteClick();AR.ShoppingList.RecipeListView.LoadRecipeButtonBarSaveClick();AR.ShoppingList.RecipeListView.LoadGroceryButtonBarSaveClick();AR.ShoppingList.RecipeListView.LoadRecipeButtonBarCancelClick();AR.ShoppingList.RecipeListView.LoadGroceryButtonBarCancelClick();},LoadRecipeEditClick:function(){$('.edit-recipe-items').live("click",function(){$('.grocery-button-bar-cancel').trigger('click');var speed=500;$('.shopping-list-recipe-servings').fadeOut(speed);setTimeout(function(){$('.shopping-list-recipe-delete').fadeIn(speed);},speed);$('.recipes-button-bar').fadeIn(speed);$('.shopping-list-button-bar').fadeOut(speed);});},LoadGroceryItemEditClick:function(){$('.edit-grocery-items').live("click",function(){$('.recipe-button-bar-cancel').trigger('click');AR.Cursor.SetWait();var speed=500;$('.edit-grocery-list-disabled').attr('disabled','').addClass('edit-grocery-list-active');$('.grocery-item-delete').fadeIn(speed);$('.grocery-button-bar').fadeIn(speed);$('.shopping-list-button-bar').fadeOut(speed);AR.Cursor.SetDefault();});},LoadRecipeDeleteClick:function(){$('.edit-recipe-delete').click(function(){var recipeID=AR.ServerSideData.GetByDom(this).recipeID;var link=$(this);link.parent().fadeOut(300);link.next().next().text("0,0");link.next().next().next().text(recipeID);});},LoadPersonalRecipeDeleteClick:function(){$('.edit-personal-recipe-delete').click(function(){var personalRecipeID=AR.ServerSideData.GetByDom(this).personalRecipeID;var link=$(this);link.parent().fadeOut(300);link.next().text(personalRecipeID);});},LoadGroceryItemDeleteClick:function(){$('.grocery-item-delete').live("click",function(){var speed=300;var itemToRemove=$(this).parent().parent();itemToRemove.fadeOut(speed,function(){AR.ShoppingList.Utilities.HideGroceryAisles();});var serverItem=AR.ServerSideData.GetByDom(this);var shoppingListGroceryItemID=serverItem.shoppingListGroceryItemID;$('.hidden-grocery-item-deleted'+shoppingListGroceryItemID).text(shoppingListGroceryItemID);});},LoadRecipeButtonBarSaveClick:function(){$('.recipe-button-bar-save').click(function(){AR.Cursor.SetWait();var recipeIDsToDelete=AR.ShoppingList.RecipeListView.BuildIDList('.isDeletedRecipe');var personalRecipeIDsToDelete=AR.ShoppingList.RecipeListView.BuildIDList('.isDeletedPersonalRecipe');var servingsToUpdate=[];$('.changedServings').each(function(){var keyValPair=$(this).text();if(keyValPair!="0,0"){servingsToUpdate[servingsToUpdate.length]=keyValPair;}});var shoppingListID=AR.ServerSideData.GetByDom(this).shoppingListID;if(recipeIDsToDelete!=""||personalRecipeIDsToDelete!=""||servingsToUpdate.length>0){AR.ClientService.DeleteRecipesAndUpdateServings(shoppingListID,recipeIDsToDelete,personalRecipeIDsToDelete,servingsToUpdate,AR.ShoppingList.RecipeListView.UpdatingRecipesCallback);}
else{AR.Cursor.SetDefault();$('.recipe-button-bar-cancel').trigger("click");}});},LoadGroceryButtonBarSaveClick:function(){$('.grocery-button-bar-save, .modal-save-grocery-items').click(function(){AR.Cursor.SetWait();$('.shopping-list-item').each(function(){var input=$(this).find('.edit-grocery-list-disabled');if(input.val()==''){input.next().find('a').trigger('click');}});var groceryItemsToDelete=AR.ShoppingList.RecipeListView.BuildIDList('.isDeletedGroceryItem');var recipeItemsToDelete=AR.ShoppingList.RecipeListView.BuildIDList('.isDeletedRecipeItem');var personalRecipeItemsToDelete=AR.ShoppingList.RecipeListView.BuildIDList('.isDeletedPersonalRecipeItem');var groceryItemsToUpdate=AR.ShoppingList.RecipeListView.GetUpdatedContent('.GroceryItem');var recipeItemsToUpdate=AR.ShoppingList.RecipeListView.GetUpdatedContent('.RecipeItem');var personalRecipeItemsToUpdate=AR.ShoppingList.RecipeListView.GetUpdatedContent('.PersonalRecipeItem');var shoppingListID=AR.ServerSideData.Get('grocery-button-bar').shoppingListID;if(groceryItemsToDelete!=""||recipeItemsToDelete!=""||personalRecipeItemsToDelete!=""||groceryItemsToUpdate.length>0||recipeItemsToUpdate.length>0||personalRecipeItemsToUpdate.length>0){AR.ClientService.DeleteAndUpdateGroceryItems(shoppingListID,groceryItemsToDelete,recipeItemsToDelete,personalRecipeItemsToDelete,groceryItemsToUpdate,recipeItemsToUpdate,personalRecipeItemsToUpdate,AR.ShoppingList.RecipeListView.UpdatingGroceryItemsCallback);}
else{$('.grocery-button-bar-cancel').trigger("click");}});$('.modal-save-grocery-items').click(function(){AR.Dialog.CloseModalBox();});},GetUpdatedContent:function(selector){var theArray=[];$(selector).each(function(){var item=$(this);var isBeingDeleted=item.next().next().text();if(isBeingDeleted=="0"){var currentText=item.val();var originalText=item.next().next().next().text();var id=item.next().find('.grocery-item-delete').attr("id");id=id.replace("delete","");if(currentText!=originalText){theArray[theArray.length]=id+"|"+currentText;}}});return theArray;},BuildIDList:function(selector){var itemList="";var comma="";$(selector).each(function(){var ID=$(this).text();if(ID>0){itemList+=comma+ID;comma=",";}});return itemList;},LoadRecipeButtonBarCancelClick:function(){$('.recipe-button-bar-cancel').click(function(){var speed=500;$('.shopping-list-recipe-delete:visible').fadeOut(speed);$('.shopping-list-recipe-delete:hidden').hide();setTimeout(function(){$('.shopping-list-recipe-servings').fadeIn(speed);},speed);setTimeout(function(){$('.recipe-row').fadeIn(speed);},speed);$('.recipes-button-bar').fadeOut(speed);$('.shopping-list-button-bar').fadeIn(speed);setTimeout(function(){$('.open-change-servings-modal').each(function(){var serverItem=AR.ServerSideData.GetByDom(this);var link=$(this);link.text('('+serverItem.servings+' servings)');link.nextAll('.currentServings').text(serverItem.servings);});},1500);setTimeout(function(){$('.changedServings').text('0,0');$('.isDeletedRecipe').text('0');$('.isDeletedPersonalRecipe').text('0');},1500);});},LoadGroceryButtonBarCancelClick:function(){$('.grocery-button-bar-cancel').click(function(){AR.Cursor.SetWait();var speed=500;var groceryItemsToDelete=AR.ShoppingList.RecipeListView.BuildIDList('.isDeletedGroceryItem');var recipeItemsToDelete=AR.ShoppingList.RecipeListView.BuildIDList('.isDeletedRecipeItem');var personalRecipeItemsToDelete=AR.ShoppingList.RecipeListView.BuildIDList('.isDeletedPersonalRecipeItem');var groceryItemsToUpdate=AR.ShoppingList.RecipeListView.GetUpdatedContent('.GroceryItem');var recipeItemsToUpdate=AR.ShoppingList.RecipeListView.GetUpdatedContent('.RecipeItem');var personalRecipeItemsToUpdate=AR.ShoppingList.RecipeListView.GetUpdatedContent('.PersonalRecipeItem');var shoppingListID=AR.ServerSideData.Get('grocery-button-bar').shoppingListID;if(groceryItemsToDelete!=""||recipeItemsToDelete!=""||personalRecipeItemsToDelete!=""||groceryItemsToUpdate.length>0||recipeItemsToUpdate.length>0||personalRecipeItemsToUpdate.length>0){AR.Dialog.ShowLayer('.modal-cancel-edit-items');}
else{AR.ShoppingList.RecipeListView.PerformGroceryItemCancel();}
AR.Cursor.SetDefault();});},PerformGroceryItemCancel:function(){$('.grocery-item-delete:visible').fadeOut(AR.AnimationSpeed());setTimeout(function(){$('.shopping-list-item').fadeIn(AR.AnimationSpeed());$('.grocery-aisle-header').fadeIn(AR.AnimationSpeed());},AR.AnimationSpeed());$('.shopping-list-item').find('.grocery-item-delete').hide();$('.edit-grocery-list-disabled').attr('disabled','disabled').removeClass('edit-grocery-list-active');$('.isDeletedGroceryItem,.isDeletedRecipeItem,.isDeletedPersonalRecipeItem').text("0");$('.shopping-list-item').each(function(){var input=$(this).find('.edit-grocery-list-disabled');input.val(input.next().next().next().text());});$('.grocery-button-bar').fadeOut(AR.AnimationSpeed());$('.shopping-list-button-bar').fadeIn(AR.AnimationSpeed());},UpdatingRecipesCallback:function(data){if(data.ResponseCode==AR.ResponseCode.Success){$('.isDeletedRecipe').each(function(){if($(this).text()!="0"){$(this).parent().remove();}});$('.isDeletedPersonalRecipe').each(function(){if($(this).text()!="0"){$(this).parent().remove();}});if($('.recipe-row:visible').length==0){var p1=$('<p>').html('<b>You have not added</b> any recipes to your shopping list.');var p2=$('<p>').html('<b>Search for recipes</b> at the top of this page, or browse your <a href="../RecipeBox/Default.aspx">recipe box</a>');$('.recipes-button-bar').prevAll('h4').remove();$('.recipes-button-bar').before(p1).before(p2);}
var speed=500;$('.shopping-list-recipe-delete:visible').fadeOut(speed);$('.shopping-list-recipe-delete:hidden').hide();$('.open-change-servings-modal').each(function(){var link=$(this);link.prev().text(link.text());var serverItem=AR.ServerSideData.GetByDom(link);AR.ServerSideData.Set({"title":serverItem.title,"recipeID":serverItem.recipeID,"servings":link.nextAll('.currentServings').text()},link.attr("id"));});setTimeout(function(){$('.shopping-list-recipe-servings').fadeIn(speed);},speed);$.each(data.Data.DeletedRecipeItems,function(index,id){$('.ingredientID'+id).parent().remove();});$.each(data.Data.UpdatedItems,function(index,keyValPair){var input=$('.ingredientID'+keyValPair.key);input.val(keyValPair.value).addClass('hello');input.next().next().next().text(input.val());});$.each(data.Data.DeletedPersonalRecipeItems,function(index,name){$('.shopping-list-item').each(function(){if($(this).find('input').val()==name){$(this).remove();}});});AR.ShoppingList.Utilities.ShowEmptyGroceryItems();AR.ShoppingList.Utilities.RemoveGroceryAisles();setTimeout(function(){$('.hello').removeClass('hello');},5000);AR.MessageBox.ShowSuccess(data.Message);$('.recipes-button-bar').fadeOut(speed);$('.shopping-list-button-bar').fadeIn(speed);}
else{AR.ShoppingList.RecipeListView.ErrorUpdating('UpdateRecipe',data.ResponseCode);}
AR.Cursor.SetDefault();},UpdatingGroceryItemsCallback:function(data){if(data.ResponseCode==AR.ResponseCode.Success){$('.isDeletedGroceryItem,.isDeletedRecipeItem,.isDeletedPersonalRecipeItem').each(function(){if($(this).text()!="0"){$(this).parent().remove();}});AR.ShoppingList.Utilities.ShowEmptyGroceryItems();if(data.Data!=null){$.each(data.Data,function(index,keyValuePair){var item=$('.hidden-grocery-item-deleted'+keyValuePair.key);item.attr('class','isDeletedGroceryItem hidden-grocery-item-deleted'+keyValuePair.value);item.next().attr('class','hidden-grocery-item-original'+keyValuePair.value);item.prev().find('a').attr('id','delete'+keyValuePair.value);item.prev().prev().attr('class','edit-grocery-list-disabled GroceryItem ingredientID0');var serverItem=AR.ServerSideData.Get("delete"+keyValuePair.key);AR.ServerSideData.Set({"groceryAisleID":serverItem.groceryAisleID,"shoppingListGroceryItemID":keyValuePair.value},"delete"+keyValuePair.value);});}
$('.shopping-list-item').find('.grocery-item-delete').hide();AR.ShoppingList.Utilities.RemoveGroceryAisles();$('.edit-grocery-list-disabled').each(function(){var item=$(this);item.attr('disabled','disabled').removeClass('edit-grocery-list-active');var original=item.next().next().next();if(item.val()!=original.text()){item.addClass('hello');}
original.text(item.val());});setTimeout(function(){$('.hello').removeClass('hello');},5000);$('.grocery-button-bar').fadeOut(500);$('.shopping-list-button-bar').fadeIn(500);AR.MessageBox.ShowSuccess(data.Message);}
else{AR.ShoppingList.RecipeListView.ErrorUpdating('UpdateGroceryItem',data.ResponseCode);}
AR.Cursor.SetDefault();},ErrorUpdating:function(functionName,responseCode){if(AR.ShouldLogResponseCode(responseCode)){AR.LogErrorEx({ID:AR.LogEval("AR.ServerSideData.Get('grocery-button-bar').shoppingListID")},'shopping-list.js','error in AR.ShoppingList.RecipeView.'+functionName);}
AR.MessageBox.ShowFailure("Oops! There was an unexpected error while loading grocery items.");AR.Dialog.CloseModalBox();AR.Cursor.SetDefault();}},GroceryItems:{Load:function(){$('.grocery-aisle-select').change(function(){var aisleID=$(this).val();if(aisleID!=-1){AR.Cursor.SetWait();AR.ClientService.GetGroceryItems(aisleID,AR.ShoppingList.GroceryItems.LoadingCallback);}
else{$('.grocery-aisle-selected').fadeOut(500);setTimeout(function(){$('.grocery-aisle-notselected').fadeIn(500);},505);}});$(".add-item-to-grocery-list-input").unbind("keyup").bind("keyup",function(){AR.ShoppingList.GroceryItems.ToggleBindingCustom();});$('.grocery-aisle-select').trigger("change");AR.ShoppingList.GroceryItems.ToggleBinding();AR.ShoppingList.GroceryItems.ToggleBindingCustom();},ToggleBinding:function(){if($(".check-pantry-item:checked").length>0){$(".add-pantry-item").css({opacity:1.0});$(".add-pantry-item").unbind("click").bind("click",function(e){AR.ShoppingList.GroceryItems.Execute();});}else{$(".add-pantry-item").css({opacity:0.5});AR.ShoppingList.GroceryItems.Unbind();}},ToggleBindingCustom:function(){var val=$(".add-item-to-grocery-list-input").val();if(typeof(val)!="undefined"&&val.trim().length>0&&val.trim()!="Type name of item you want to add"){$(".add-custom-item").css({opacity:1.0});$(".add-custom-item").unbind("click").bind("click",function(e){AR.ShoppingList.GroceryItems.ExecuteCustom();});$(".add-item-to-grocery-list-input").unbind("keypress").bind("keypress",function(e){if(e.keyCode==13){AR.ShoppingList.GroceryItems.ExecuteCustom();}});}else{$(".add-custom-item").css({opacity:0.5});AR.ShoppingList.GroceryItems.UnbindCustom();}},Unbind:function(){$(".add-pantry-item").unbind("click");},UnbindCustom:function(){$(".add-custom-item").unbind("click");$(".add-item-to-grocery-list-input").unbind("keypress");},Execute:function(){AR.Cursor.SetWait();AR.ShoppingList.GroceryItems.Unbind();AR.Analytics.RecordAction(AR.Analytics.Event.Start,AR.Analytics.Action.Source.ShoppingList,AR.Analytics.Action.Type.ShoppingListAddItem);var shoppingListID=AR.ServerSideData.GetByDom("#add-pantry-item-data").shoppingListID;var items="";var comma="";$('.check-pantry-item:checked').each(function(){items+=comma+$(this).val();comma=",";});if(items!=""&&typeof(shoppingListID)!='undefined'){AR.ClientService.AddGroceryItemsToShoppingList(shoppingListID,items,AR.ShoppingList.GroceryItems.AddingCallback);}},ExecuteCustom:function(){AR.Cursor.SetWait();AR.ShoppingList.GroceryItems.UnbindCustom();var name=$('.add-item-to-grocery-list-input').val().trim();$('.add-item-to-grocery-list-input').val('');var aisleID=$('.customitem-grocery-aisle-select').val();AR.ShoppingList.GroceryItems.AddCustomItemsByName([name],aisleID);},AddCustomItemsByName:function(itemNames,aisleID){itemNames=$.makeArray(itemNames);AR.Analytics.RecordAction(AR.Analytics.Event.Start,AR.Analytics.Action.Source.ShoppingList,AR.Analytics.Action.Type.ShoppingListAddItem);var shoppingListID=AR.ServerSideData.GetByDom("#add-pantry-item-data").shoppingListID;if(typeof(aisleID)=="undefined"){aisleID=-1;}else if(typeof(aisleID)=="string"){aisleID=parseInt(aisleID);}
if(typeof shoppingListID!="undefined"){AR.ClientService.AddCustomGroceryItemsToShoppingListAisle(shoppingListID,aisleID,itemNames,AR.ShoppingList.GroceryItems.CustomCallback);}},LoadingCallback:function(data){if(data.ResponseCode==AR.ResponseCode.Success){$('.groceryItems').html('');var count=0;var onTheLeft;if(data.Data.List.length%2==0){onTheLeft=data.Data.List.length/2;}
else{onTheLeft=(data.Data.List.length+1)/2;}
$.each(data.Data.List,function(index,keyValuePair){if(count<onTheLeft){$('.groceryItemsLeft').append('<li class="ellipsis_groceryitems">'+'<input type="checkbox" class="check-pantry-item" id="cbxCheck'+keyValuePair.key+'" value="'+keyValuePair.key+'" />'+'<label style="display:inline;" for="cbxCheck'+keyValuePair.key+'">'+keyValuePair.value+'</label></li>');count++;}
else{$('.groceryItemsRight').append('<li class="ellipsis_groceryitems">'+'<input type="checkbox" class="check-pantry-item" id="cbxCheck'+keyValuePair.key+'" value="'+keyValuePair.key+'" />'+'<label style="display:inline;" for="cbxCheck'+keyValuePair.key+'">'+keyValuePair.value+'</label></li>');count++;}});$('.check-pantry-item').click(function(){AR.ShoppingList.GroceryItems.ToggleBinding();});$('.grocery-aisle-notselected').fadeOut(500);setTimeout(function(){$('.grocery-aisle-selected').fadeIn(500);},505);AR.Cursor.SetDefault();}
else{if(AR.ShouldLogResponseCode(data.ResponseCode)){AR.LogErrorEx({ID:AR.LogEval("AR.ServerSideData.GetByDom('#add-pantry-item-data').shoppingListID")},'shopping-list.js','error in AR.ShoppingListView.GroceryItems.Load');}
AR.ShoppingList.GroceryItems.ErrorLoading();}},ErrorLoading:function(){AR.MessageBox.ShowFailure("Oops! There was an unexpected error while loading grocery items.");AR.Dialog.CloseModalBox();AR.Cursor.SetDefault();},AddingCallback:function(data){AR.Analytics.RecordAction(AR.Analytics.Event.Complete,AR.Analytics.Action.Source.ShoppingList,AR.Analytics.Action.Type.ShoppingListAddItem);if(data.ResponseCode==AR.ResponseCode.Success){var firstAdd=true;var aisle=AR.ShoppingList.Utilities.GetGroceryAisleInformationFromDropdown('.grocery-aisle-select');$('.check-pantry-item:checked').reverse().each(function(){if(firstAdd){AR.ShoppingList.Utilities.UpdateDisplayForNonEmptyShoppingList();firstAdd=false;}
var shoppingListGroceryItemID;var groceryItemID=$(this).val();$.each(data.Data,function(index,keyValuePair){if(keyValuePair.key==groceryItemID){shoppingListGroceryItemID=keyValuePair.value;return false;}});var name=$(this).next().text();AR.ShoppingList.Utilities.AddItemToAisle(shoppingListGroceryItemID,name,aisle.ID,aisle.Name);});AR.MessageBox.PrintMessage(".grocery-items-add-message",AR.MessageBox.MessageType.Success,data.Message);$('.check-pantry-item:checked').attr('checked',false);}
else{AR.ShoppingList.GroceryItems.ErrorAdding('Execute',data.ResponseCode);}
AR.ShoppingList.GroceryItems.ToggleBinding();AR.Cursor.SetDefault();},CustomCallback:function(data){if(data.ResponseCode==AR.ResponseCode.Success||data.ResponseCode==AR.ResponseCode.UserFailure||data.ResponseCode==AR.ResponseCode.PartialFailure){var showWarning=data.ResponseCode==AR.ResponseCode.UserFailure||data.ResponseCode==AR.ResponseCode.PartialFailure;AR.Analytics.RecordAction(AR.Analytics.Event.Complete,AR.Analytics.Action.Source.ShoppingList,AR.Analytics.Action.Type.ShoppingListAddItem);AR.ShoppingList.Utilities.UpdateDisplayForNonEmptyShoppingList();var aisle=AR.ShoppingList.Utilities.GetGroceryAisleInformationFromDropdown('.customitem-grocery-aisle-select');for(i=0;i<data.Data.length;i++){AR.ShoppingList.Utilities.AddItemToAisle(data.Data[i].key,data.Data[i].value,aisle.ID,aisle.Name);}
AR.MessageBox.PrintMessage(".grocery-items-add-message-main",showWarning?AR.MessageBox.MessageType.Warning:AR.MessageBox.MessageType.Success,data.Message);}
else{AR.ShoppingList.GroceryItems.ErrorAdding('ExecuteCustom',data.ResponseCode);}
AR.ShoppingList.GroceryItems.ToggleBindingCustom();AR.Cursor.SetDefault();},ErrorAdding:function(functionName,responseCode){if(AR.ShouldLogResponseCode(responseCode)){AR.LogErrorEx({ID:AR.LogEval("AR.ServerSideData.GetByDom('#add-pantry-item-data').shoppingListID")},'shopping-list.js','error in AR.ShoppingListView.GroceryItems.'+functionName);};AR.MessageBox.ShowFailure("Oops! There was an unexpected error while adding your grocery item(s).");AR.Dialog.CloseModalBox();AR.Cursor.SetDefault();}}};