function checkSpecialChar(n){for(var f=n,r=f.split(""),u,i,t=0;t<r.length-1;t++)checkCharacter(r[t]);if(strError.length)return u=strError.lastIndexOf(","),strError=strError.replaceAt(u," "),i="",i='" '+strError+' " characters cannot be used in folder names.',objStr={},strError="",i}function checkCharacter(n){var t=/^([\'a-zA-Z0-9_ -])+$/ig;t.test(n)||objStr[n]||(objStr[n]=n,strError+=n+",")}function ToggleRecipeFolder(){ClearCreateFolderFields();var n=$("#divCreateRecipeFolder"),t=$("#divSelectRecipeFolder");return n.hasClass("hidden")?(n.removeClass("hidden"),t.hide()):(n.addClass("hidden"),t.show()),!1}function SelectFolder(n,t,i){if(n==currentRecipeBoxFolder.id&&($("#SearchPhraseMobile").val()=null))return!1;$("#SearchPhraseMobile").html(""),currentRecipeBoxFolder.id=n,currentRecipeBoxFolder.name=t,currentRecipeBoxFolder.url=i;var u=window.location.href,r=u.split("recipe-box");return $.ajax({url:"/recipebox/getresults/",data:{folder:currentRecipeBoxFolder.url},success:function(n){$("#rd_recipebox_results_container").html(n),window.history.pushState("Folder",null,r[0]+"recipe-box/"+i)},error:function(){},complete:function(){$("#spanMyFolderList li").removeClass("rd_recipe_box_folders_item_current"),$("#spanMyFolderList li[data-folder-id ="+n+"]").addClass("rd_recipe_box_folders_item_current")}}),!1}function ShowAddToRecipeBox(n,t,i){function r(){var r;if(n&&!IsRecipeBoxShown&&(t&&$("#hdnSelectedBookMarkId").val(t),r=RD.ViewModel.LoginPersonalizationVM.LoginStatus()==2?!0:!1,r)){var o=$(n).attr("data-content-title"),s=$(n).attr("data-content-url"),e=$(n).attr("data-content-type"),u=$(n).attr("data-content-id"),f=$(n).attr("data-auth-recipe-text");RD.ViewModel.RecipeBox.optionsOverlayModel.currentObj=$(n),f!="In Recipe Box"&&(IsRecipeBoxShown=!0,$.ajax({url:"/recipebox/showrecipeboxoverlay/",data:{contentId:u,contentTitle:o,contentImageUrl:s,contentType:e},cache:!1,success:function(n){$("#RecipeBoxOverlayForm").html(n),$("#RecipeBoxOverlayForm").append("<inut type='hidden' value=''"),$("#RecipeBoxOverlayForm").modal("show"),i&&$("#RecipeBoxOverlayForm #page_refresh").val("true"),IsRecipeBoxShown=!1},error:function(){}}))}}return RD.Widgets.Auth.IsBanned(function(n){n||r()}),!1}function AddRecipeToRecipeBox(n,t,i){var s="",r="",v="None",w=!1,k=null,p="Add To Recipe Box",e="Create Folder & Save",y=window.location.href,b=document.getElementById("hdnContentTitle").value,f=document.getElementById("hdnContentType").value,o=document.getElementById("hdnContentId").value,c=$("#OriginalSource").val(),h="recipe box",a=i=="add"?"event29":"event29,event35",u,l;return(i=="add"?(e="Add Recipe",s=$("#"+n).val()):r=$("#"+n).val(),trackLinkWithEventsWithFormSubmissionPreference(p,e,y,w,a,v,"",b,f,o,c,h),u="",r!=""&&(u=checkSpecialChar(r)),u&&u.length)?(document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML=u,!1):$.trim(r.toLowerCase())=="search"?(document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML="Folder name is not allowed",!1):$.trim(r)==""&&$.trim(i)=="newfolder"?(document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML="Please enter a Folder name",!1):(document.getElementById("divRecipeBoxProgressBar").style.display="block",l=$.getJSON("/recipebox/recipeboxadd/",{contentID:o,ContentType:f,RecipeType:$("#RecipeType").val(),SelectedFolder:s,NewFolder:r,SelectedParentFolderForNewFolder:t}).done(function(n){var i;if(document.getElementById("divRecipeBoxProgressBar").style.display="none",n.result===!1)n.message&&(document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML=n.message);else try{if(RD.ViewModel.RecipeBox.FolderListVM)if(f=="WebLink")window.location.href="/recipe-box/all-saved-recipes";else{if(GetDefaultFolderList(),n.folderModel){$("#"+$("#hdnSelectedBookMarkId").val()).parent().removeClass("hidden").addClass("rd_recipe_box"),$("#"+$("#hdnSelectedBookMarkId").val()).append("<a class='rd_recipe_box_folder_title "+n.folderModel.Id+"-Id' href='"+n.folderModel.Url+"'>"+n.folderModel.Name+"</a>");var t=JSON.parse(RD.ViewModel.RecipeBox.optionsOverlayModel.currentObj.attr("data-content-item")),r=t.contentId,e=t.folderList.push({FolderName:n.folderModel.Name,BookmarkFolderId:n.folderModel.Id,BookmarkId:n.folderModel.ParentBookmarkFolderId});$("[data-content_id="+r+"] [data-content-item]").attr("data-content-item",JSON.stringify(t))}$("#RecipeBoxOverlayForm").modal("hide"),$("#RecipeBoxOverlayForm #page_refresh").val()=="true"&&(window.location.href=window.location.href)}else $("#pre-confirmation-sections").hide(),$("#divCreateRecipeFolderConfirmation").show().css("visibility","visible"),$("#heading_1").hide(),$("#heading_2").show().css("visibility","visible"),n.bookmarkslist&&(i=$("ul#recentBookmarks"),$.each(n.bookmarkslist,function(){i.append("<li><a class='rd_font12px rd_tg_bold' href="+this.FriendlyUrl+' data-adobe-metrics=\'{"module":"recipe engagement","name":"'+this.ContentTitle+'","position":"recipe box overlay"}\'>'+this.ContentTitle+"</a></li>")})),ko.mapping.fromJS(n.data,RD.ViewModel.RecipePersonalizationVM)}catch(u){}}).fail(function(){}),!1)}function DeleteFolderFromRecipeBox(){$("#divDeleteFolderProgressBar").show();var n=$("#hdnRecipeFolderId").val(),t=$("#hdnFolderUrl").val(),i=$.getJSON("/recipebox/recipeboxdelete/",{folderUrl:t,deleteAllSavedRecipes:$("#chkDeleteAllRecipes").is(":checked")}).done(function(t){t.result&&$.ajax({url:"/recipebox/getresults/"+(n!=currentRecipeBoxFolder.id?currentRecipeBoxFolder.url:""),success:function(n){$("#rd_recipebox_results_container").html(n)},error:function(){},complete:function(){$("."+n+"-Id").remove(),t.folderList&&ko.mapping.fromJS(t.folderList,RD.ViewModel.RecipeBox.FolderListVM),$("#divDeleteFolderProgressBar").hide(),$("#DeleteFolderOverlayForm").modal("hide")}})}).fail(function(){});return!1}function ShowDeleteFolderOverlay(n,t,i){return $("#h4Title").html("Remove "+t+" Folder"),$("#DeleteFolderOverlayForm").modal("show"),$("#hdnRecipeFolderId").val(n),$("#hdnFolderUrl").val(i),$("#chkDeleteAllRecipes").attr("checked",!1),!1}function GetDefaultFolderList(){$.ajaxSetup({cache:!1});var n=$.getJSON("/recipebox/getdefaultfolderList/",{}).done(function(n){n.result&&ko.mapping.fromJS(n.data,RD.ViewModel.RecipeBox.FolderListVM)}).fail(function(){});$.ajaxSetup({cache:!0})}function IsValidSearch(n){var t=document.getElementById(n);return t.value.trim()!=""?!0:!1}function CreateFolder(){return ClearCreateFolderFields(),$("#CreateFolderOverlayForm").modal("show"),!1}function SaveFolder(){var n=$("#Newfolder").val(),t=checkSpecialChar(n),i;if(t&&t.length)return document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML=t,!1;if($.trim(n.toLowerCase())=="search")return document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML="Folder name is not allowed",!1;if($.trim(n)!="")document.getElementById("divRecipeBoxProgressBar").style.display="block",i=$.getJSON("/recipebox/CreateFolder/",{newFolder:n}).done(function(n){document.getElementById("divRecipeBoxProgressBar").style.display="none",n.result===!1?n.message&&(document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML=n.message):(ClearCreateFolderFields(),$("#CreateFolderOverlayForm").modal("hide"),GetDefaultFolderList())}).fail(function(){});else return document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML="Please enter a Folder name",!1;return!1}function ClearCreateFolderFields(){$("#Newfolder").val(""),$("#lblRecipeBoxErrorMessage").hide()}function ShowWebsiteRecipeOverlay(){return ClearWebsiteRecipeOverlayFields(),$.ajax({url:"/recipebox/showwebsiterecipeoverlay/",cache:!1,success:function(n){$("#WebsiteRecipeOverlayForm").html(n),$("#WebsiteRecipeOverlayForm").modal("show")},error:function(){}}),!1}function GetWebMetaData(){var n=$.trim($("#WebsiteRecipeUrl").val()),t;if($("#lblWebsiteRecipeErrorMessage1").hide(),$("#lblWebsiteRecipeErrorMessage2").hide(),!ValidateUrl($.trim(n)))return document.getElementById("lblWebsiteRecipeErrorMessage1").style.display="inline",document.getElementById("lblWebsiteRecipeErrorMessage1").innerHTML="Please enter a valid recipe url",!1;document.getElementById("divRecipeBoxProgressBar").style.display="block",t=$.getJSON("/recipebox/GetWebMetaData/",{recipeUrl:n}).done(function(t){if(document.getElementById("divRecipeBoxProgressBar").style.display="none",t.result===!1)t.message&&(document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML=t.message);else{ClearWebsiteRecipeOverlayFields(),$("#WebsiteRecipeUrl").val(n),$("#WebsiteRecipeTitle").val($.trim(t.metaTitle)),document.getElementById("lblWebsiteRecipeSource").innerHTML=t.recipeSource,$("#lblImageCount").html("1 of "+t.imageCount),$(".website_recipe_carousel_container label em").show();var i="<div class='carousel-inner'>";$.each(t.metaImages,function(n){i+="<div class='item"+(n==0?" active":"")+"' data-slide-num='"+n+"'>",i+="<img class='website_recipe_img' src='"+this+"' />",i+="</div>"}),i+="</div>",i+="<a data-slide='prev' href='#website_recipe_carousel' class='carousel-control left'>&lsaquo;</a>",i+="<a data-slide='next' href='#website_recipe_carousel' class='carousel-control right'>&rsaquo;</a>",document.getElementById("website_recipe_carousel").innerHTML=i,$("#website_recipe_carousel").carousel(),$("#website_recipe_carousel").unbind("slid");$("#website_recipe_carousel").on("slid",function(){var n=parseInt($("#website_recipe_carousel .item.active").attr("data-slide-num"),10)+1;$("#lblImageCount").html(n+" of "+t.imageCount)});$("[data-analytics-web_recipe_url]").attr("data-analytics-web_recipe_url",$.trim(n)),$("[data-analytics-web_recipe_title]").attr("data-analytics-web_recipe_title",$.trim(t.metaTitle))}}).fail(function(){})}function ClearWebsiteRecipeOverlayFields(){$("#WebsiteRecipeUrl").val(""),$("#WebsiteRecipeTitle").val(""),$("#lblWebsiteRecipeErrorMessage1").hide(),$("#lblWebsiteRecipeErrorMessage2").hide()}function ValidateUrl(n){var t=/(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;return t.test(n)}function SaveWebsiteRecipe(n){var u;$("#lblWebsiteRecipeErrorMessage1").hide(),$("#lblWebsiteRecipeErrorMessage2").hide();var r=$("#WebsiteRecipeUrl").val(),i=$("#WebsiteRecipeTitle").val(),e=$("#chkNoPhoto").prop("checked"),o=$(n).attr("data-content-default-image"),t=$("#website_recipe_carousel .item.active img").attr("src"),f=$(n).attr("data-content-source");if((e==!0||t=="")&&(t=o),$.trim(r)=="")return document.getElementById("lblWebsiteRecipeErrorMessage1").style.display="inline",document.getElementById("lblWebsiteRecipeErrorMessage1").innerHTML="Please enter a recipe url",!1;if(!ValidateUrl($.trim(r)))return document.getElementById("lblWebsiteRecipeErrorMessage1").style.display="inline",document.getElementById("lblWebsiteRecipeErrorMessage1").innerHTML="Please enter a valid recipe url",!1;if($.trim(i)=="")return document.getElementById("lblWebsiteRecipeErrorMessage2").style.display="inline",document.getElementById("lblWebsiteRecipeErrorMessage2").innerHTML="Please enter a recipe title",!1;document.getElementById("divRecipeBoxProgressBar").style.display="block",u=$.getJSON("/recipebox/SaveWebsiteRecipe/",{recipeUrl:r,recipeTitle:i,recipeImage:t,recipeSource:f}).done(function(n){document.getElementById("divRecipeBoxProgressBar").style.display="none",n.result===!1?n.message&&(document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML=n.message):(ClearWebsiteRecipeOverlayFields(),$("#WebsiteRecipeOverlayForm").modal("hide"),n.contentId>0&&$.ajax({url:"/recipebox/showrecipeboxoverlay/",data:{contentId:n.contentId,contentTitle:i,contentImageUrl:t,contentType:"WebLink"},cache:!1,success:function(n){$("#RecipeBoxOverlayForm").html(n),$("#RecipeBoxOverlayForm").modal("show")},error:function(){}}))}).fail(function(){})}function ToggleRenameFolder(){var n=$("#divFolderRename"),t=$("#h2currentFolderName");n.hasClass("hidden")?(n.removeClass("hidden"),t.hide()):($("#txtCurrentFolderName").val($("#spanCurrentFolder").text()),$("#divNewfolderProgressBar").hide(),$("#lblNewFolderErrorMessage").hide(),n.addClass("hidden"),t.show())}function RenameFolder(n,t){var i,r,u;if($("#lblNewFolderErrorMessage").hide(),i=$("#txtCurrentFolderName").val(),i=$.trim(i.replace(/\s+/g," ")),r=checkSpecialChar(i),r&&r.length)return $("#lblNewFolderErrorMessage").show().html(r),!1;if($.trim(i)=="")return $("#lblNewFolderErrorMessage").show().html("Please enter a Folder name"),!1;$("#divNewfolderProgressBar").show(),u=$.getJSON("/recipebox/renamefolder/",{folderUrl:n,newFolderName:i}).done(function(n){$("#divNewfolderProgressBar").hide(),$("#lblNewFolderErrorMessage").hide(),n.result?($("#spanCurrentFolder").html(i),$.trim(i).toLowerCase()==$.trim(t).toLowerCase()?(ToggleRenameFolder(),GetDefaultFolderList()):window.location.href=n.folderModel.Url):$("#lblNewFolderErrorMessage").show().html(n.message)})}function LoadRecipeDetailLogIn(){var t=$.getJSON("/recipes/isloggedin",{RecipeId:document.getElementById("RecipeId").value,ContentType:document.getElementById("ContentType").value,RecipeType:document.getElementById("RecipeType").value}).done(function(n){ko.mapping.fromJS(n.recipePersonalizationProfile,RD.ViewModel.RecipePersonalizationVM),$("#StarRatingValue").val(n.recipePersonalizationProfile.Rating),HandleAddToBoxOverlay(),RD.ViewModel.LoginPersonalizationVM.ScreenName()!=null&&RD.ViewModel.LoginPersonalizationVM.ScreenName()!=""?(getUserReviewDetail(),ExecuteCallBackFunctions()):ClearCurrentState()}).fail(function(){})}function AddToGroceryListComscoreEvent(n){var t=$(n),a="None",u=!1,c="grocery list",h=RD.ViewModel.RecipePersonalizationVM.GroceryListText(),s=window.location.href,r=t.attr("data-content-title"),l=t.attr("data-content-type"),e=t.attr("data-content-id"),f=t.attr("data-partner-name"),o="recipe detail",i="add_grocery_event";RD.ViewModel.RecipePersonalizationVM.GroceryListText()=="On Grocery List"&&(i="None",u=!0),trackLinkWithEventsWithFormSubmissionPreference(c,h,s,u,i,a,r,r,l,e,f,o)}function UpdateRatingDistribution(n,t){var i=$.ajax({url:"/contentrating/getratingdistribution",type:"GET",data:{contentId:n,contentType:t}}).done(function(){var n=document.getElementById("reciperatingdistribution");typeof n!="undefined"&&n!=null&&(n.innerHTML=i.responseText)}).fail(function(){})}function OnChangeCommentsSortBy(n,t,i,r){var o=$(n).find("option:selected").val(),u=$(".rd_printbutton").attr("href"),f,e;return u=u.substring(0,u.indexOf("/print"))+"/print?commentsSortBy="+o,$(".rd_printbutton").attr("href",u),f=10,r==200&&(f=5),e={contentID:t,contentType:i,deviceType:r,currentPage:1,sortIndex:parseInt(o),numberOfCommentsToDisplay:parseInt(numberOfCommentsToDisplay),pageSize:f},$("#processCommentIndicator").show(),$("#divComments").html(""),ReplaceContent(e,!1),!0}function OnClickShowMoreComments(n){var u,t;$("#processCommentIndicator").show(),u=$("#ddlCommentsSortBy").find("option:selected").val(),t=n.href.split("/index/"),t=t[1].replace("?","&").split("&");var i=t[5].split("=")[1],f=t[2].split("=")[1],r={contentID:t[0],contentType:t[1].split("=")[1],deviceType:f,currentPage:0,pageSize:parseInt(t[4].split("=")[1]),sortIndex:parseInt(u),numberOfCommentsToDisplay:parseInt(i)};return r.numberOfCommentsToDisplay=f==300?parseInt(i)<=10?parseInt(i)+5:parseInt(i)+10:parseInt(i)<=5?parseInt(i)+5:parseInt(i)+5,numberOfCommentsToDisplay=r.numberOfCommentsToDisplay,ReplaceContent(r,!0),!1}function OnClickShowLessComments(n){var u,t;$("#processCommentIndicator").show(),u=$("#ddlCommentsSortBy").find("option:selected").val(),t=n.href.split("/index/"),t=t[1].replace("?","&").split("&");var r=t[5].split("=")[1],f=t[2].split("=")[1],i={contentID:t[0],contentType:t[1].split("=")[1],deviceType:f,currentPage:1,pageSize:parseInt(t[4].split("=")[1]),sortIndex:parseInt(u),numberOfCommentsToDisplay:parseInt(r)};return i.pageSize=f==300?parseInt(r)-10:parseInt(r)-5,i.numberOfCommentsToDisplay=i.pageSize,numberOfCommentsToDisplay=i.numberOfCommentsToDisplay,ReplaceContent(i,!1),!1}function ReplaceContent(n,t){var i=$.ajax({url:"/contentComments/index",type:"GET",data:n}).done(function(){var f,r,u;t||$("#divComments").html(""),$("#divComments").append($(i.responseText).find("#divComments").html()),$("#processCommentIndicator").hide(),$("#btnCommentViewMore").html($(i.responseText).find("#btnCommentViewMore").html()),$("#divComments .rd_user_comment[current-user='"+RD.ViewModel.LoginPersonalizationVM.ScreenName()+"']").addClass("rd_currentuser"),ko.applyBindings(RD.ViewModel.LoginPersonalizationVM,document.getElementById("rd_user_comment")),t?(f={id:i.responseText},window.history.pushState(f,null,location.pathname)):(r=$("#divComments > .rd_user_comment"),u=$(r[r.length-(n.deviceType==300?10:5)]),window.scrollTo(0,u.offset().top))}).fail(function(){$("#divComments").html("")})}function HandleAddToBoxOverlay(){var n=decodeURI(window.location.href.toLowerCase());n.indexOf("addtobox=y")==-1||isRecipeboxClicked||(ShowAddToRecipeBox(document.getElementById("lnkAddToBox")),isRecipeboxClicked=!0),n.indexOf("registrationsource=Add to Recipe Box".toLowerCase())==-1||isRecipeboxClicked?n.indexOf("registrationsource=AddtoShoppingList".toLowerCase())==-1||isRecipeboxClicked||(AddRecipeToShoppingList(),isRecipeboxClicked=!1):(ShowAddToRecipeBox(document.getElementById("lnkAddToBox")),isRecipeboxClicked=!0)}function InitRecipeDetail(){LogInFunctionsToRun!=null&&(LogInFunctionsToRun[LogInFunctionsToRun.length]="LoadRecipeDetailLogIn"),HandleAddToBoxOverlay()}function ClearCurrentState(){RD.ViewModel.UserReviewsVM.Body(""),RD.ViewModel.UserReviewsVM.UserRating(0)}function InitUserReview(){$("#rd_yourrating .rd_star_rating_font").starRating({fixed:!0,updated:function(n,t){RD.ViewModel.UserReviewsVM.UserRating(t.rating)}}),$("#btnCancel").click(function(){return $("#starEditingText").hide(),$("#txtCommentBody").hide(),$("#spanUpdateCancelButtons").hide(),$("#submitReviewValidationMsg").hide(),$("#loggedinCommentWrapper").show(),$("#loggedinRated").show(),$("#btnEdit").show(),$("#spanbadcomments").addClass("hidden"),RD.ViewModel.UserReviewsVM.UserRating(oldRatedVal),$("#rd_yourrating .rd_star_rating_font").starRating("fixed",!0),$("#rd_yourrating .rd_star_rating_font").starRating("enable",!1),$("#rd_yourrating .rd_star_rating_font").starRating("rate",oldRatedVal),(RD.ViewModel.UserReviewsVM.Body()==null||RD.ViewModel.UserReviewsVM.Body()=="")&&($("#loggedinRated").hide(),$("#loggedinCommentWrapper").hide()),RD.ViewModel.UserReviewsVM.oBody()!=null&&RD.ViewModel.UserReviewsVM.oBody()!=""&&RD.ViewModel.UserReviewsVM.oBody(RD.ViewModel.UserReviewsVM.Body().replace(/</g,"&lt;").replace(/>/g,"&gt;")),!1}),$("#btnEdit").click(function(){return $("#starEditingText").show(),$("#btnSubmitReview").hide(),$("#btnEdit").hide(),$("#loggedinCommentWrapper").hide(),$("#loggedinRated").hide(),$("#txtCommentBody").show(),$("#spanUpdateCancelButtons").show(),$("#submitReviewUserInfo").show(),oldRatedVal=RD.ViewModel.UserReviewsVM.UserRating(),$("#rd_yourrating .rd_star_rating_font").starRating("fixed",!1),$("#rd_yourrating .rd_star_rating_font").starRating("enable",!0),RD.ViewModel.UserReviewsVM.Body()!=null&&RD.ViewModel.UserReviewsVM.Body()!=""?$("#txtCommentBody").val(RD.ViewModel.UserReviewsVM.Body().replace(/&lt;/g,"<").replace(/&gt;/g,">")):$("#txtCommentBody").val(RD.ViewModel.UserReviewsVM.Body()),!1});var n=$("#hasRated").html();n=="True"?($("#btnSubmitReview").show(),$("#txtCommentBody").show(),$("#loggedinCommentWrapper").hide(),$("#loggedinRated").hide(),$("#starEditingText").show(),$("#submitReviewUserInfo").hide(),$("#btnEdit").hide(),$("#submitReviewValidationMsg").removeClass("ErrorMessage")):ShowHideViewItems()}function SaveUserReview(){if(RD.ViewModel.UserReviewsVM.validation(),RD.ViewModel.UserReviewsVM.errorMessage())return $("#submitReviewValidationMsg").show(),$("#submitReviewValidationMsg").addClass("ErrorMessage"),!1;$("#btnSubmitReview").attr("disabled","disabled"),$("#processSubmitReview").show(),$("html").hasClass("lt-ie10")&&RD.ViewModel.UserReviewsVM.oBody($("#txtCommentBody").val()),RD.ViewModel.UserReviewsVM.oBody()==null&&RD.ViewModel.UserReviewsVM.oBody(""),$.ajax({url:"/contentcomments/submituserreview",type:"POST",data:{contentID:RD.ViewModel.UserReviewsVM.ContentID,contentType:RD.ViewModel.UserReviewsVM.ContentType,threadID:RD.ViewModel.UserReviewsVM.ThreadID,userRating:RD.ViewModel.UserReviewsVM.UserRating,commentBody:escape(RD.ViewModel.UserReviewsVM.oBody()),contentTitle:RD.ViewModel.UserReviewsVM.ContentTitle,contentDescription:escape(RD.ViewModel.UserReviewsVM.ContentDescription()),originalSource:escape(RD.ViewModel.UserReviewsVM.OriginalSource()),deviceType:RD.ViewModel.UserReviewsVM.deviceType}}).done(function(n){var e,u;if(n=="")RD.ViewModel.UserReviewsVM.errorMessage("Could not save review. Please try again after sometime."),$("#submitReviewValidationMsg").addClass("ErrorMessage"),$("#btnSubmitReview").removeAttr("disabled"),$("#processSubmitReview").hide();else{if(n.contentCommentReviewModel==undefined){location.reload();return}if(n!=null&&!n.contentCommentReviewModel.VisibleOnSite){$("#spanbadcomments").removeClass("hidden"),$("#btnSubmitReview").attr("disabled","disabled"),$("#processSubmitReview").hide();return}var c="logged in",r="None",t="None",s=!1,o=n.contentCommentReviewModel.UserRating,i=RD.ViewModel.UserReviewsVM.hBody(),h=n.contentCommentReviewModel.ContentID,l=n.contentCommentReviewModel.ContentTitle,a=n.contentCommentReviewModel.OriginalSource,f=!1;i!=null&&i.length>=250&&(i=i.substr(0,250)),n.contentCommentReviewModel.IsUpdating?(n.contentCommentReviewModel.Body!=null&&n.contentCommentReviewModel.Body!=""?($("#divComments .rd_currentuser").show(),$("#divComments .rd_currentuser .rd_comments_body:first").show(),$("#divComments .rd_currentuser .rd_comments_body:first").html(RD.ViewModel.UserReviewsVM.hBody())):$("#divComments .rd_currentuser .rd_comments_body:first").hide(),$("#divComments .rd_currentuser .rd_ratedstar:first").css({width:n.contentCommentReviewModel.UserRating*20+"%"}),$("[data-edited_date]:first").show(),$("#divComments .rd_user_comment[current-user='"+RD.ViewModel.LoginPersonalizationVM.ScreenName()+"']:first").find("[data-edited_date]:first").html("<strong>Edited </strong>"+n.contentCommentReviewModel.UpdateDate),e=$("[data-posted_date]:first").text(),e==n.contentCommentReviewModel.UpdateDate&&$("#divComments .rd_user_comment[current-user='"+RD.ViewModel.LoginPersonalizationVM.ScreenName()+"']:first").find("[data-edited_date]:first").html(""),r="existing",oldRatedVal!=RD.ViewModel.UserReviewsVM.UserRating()&&RD.ViewModel.UserReviewsVM.Body()!=RD.ViewModel.UserReviewsVM.oBody()?t="event20,event31":oldRatedVal!=RD.ViewModel.UserReviewsVM.UserRating()?(t="event20",f=!0):RD.ViewModel.UserReviewsVM.Body()!=RD.ViewModel.UserReviewsVM.oBody()&&(t="event31"),RD.ViewModel.RecipePersonalizationVM.CommentCount(n.contentCommentReviewModel.CommentsCount),PopulateReviewModel(n)):(u=$.ajax({url:"/contentcomments/index",type:"GET",data:{contentID:n.contentCommentReviewModel.ContentID,contentType:n.contentCommentReviewModel.ContentType,deviceType:n.contentCommentReviewModel.deviceType,pageSize:parseInt(n.contentCommentReviewModel.CommentsCount)}}).done(function(){RD.ViewModel.RecipePersonalizationVM.CommentCount(n.contentCommentReviewModel.CommentsCount),PopulateReviewModel(n),$("#divComments").html($(u.responseText).find("#divComments").html()),$("#divComments .rd_user_comment[current-user='"+RD.ViewModel.LoginPersonalizationVM.ScreenName()+"']").addClass("rd_currentuser"),n.contentCommentReviewModel.Body!=null&&n.contentCommentReviewModel.Body!=""&&$("#loggedinRated").html(RD.ViewModel.UserReviewsVM.hBody()),ko.applyBindings(RD.ViewModel.LoginPersonalizationVM,document.getElementById("divComments")),$("#divComments .rd_currentuser .rd_star_rating_font").starRating()}).fail(function(){}),r="new",RD.ViewModel.UserReviewsVM.UserRating()!=0&&RD.ViewModel.UserReviewsVM.oBody()!=null&&RD.ViewModel.UserReviewsVM.oBody()!=""?t="event20,event31":RD.ViewModel.UserReviewsVM.UserRating()!=0?(t="event20",f=!0):t="event31"),RefreshRatingDistributionBox(n.contentCommentReviewModel.ContentID,n.contentCommentReviewModel.ContentType),n.contentCommentReviewModel.IsModerator?($("#btnSubmitReview").show(),$("#txtCommentBody").show(),$("#txtCommentBody").val(""),$("#loggedinCommentWrapper").hide(),$("#loggedinRated").hide(),$("#starEditingText").show(),$("#submitReviewUserInfo").hide(),$("#submitReviewValidationMsg").removeClass("ErrorMessage")):ShowHideViewItems(),trackReviewLinkComscore(s,c,r,o,i,t,h,l,a)}$("#btnSubmitReview").removeAttr("disabled"),$("#processSubmitReview").hide()}).fail(function(n){n.getResponseHeader("BadWordError")!=""?RD.ViewModel.UserReviewsVM.errorMessage("Text entered contains offensive language. Please review your information and make appropriate changes. For concerns, please contact digitalsupport@tasteofhome.com."):n.getResponseHeader("HTMLFoundError")=="HTML found in comment body"?RD.ViewModel.UserReviewsVM.errorMessage("Please remove html and try submitting your review again."):RD.ViewModel.UserReviewsVM.errorMessage("Could not save review. Please try again after sometime."),$("#submitReviewValidationMsg").addClass("ErrorMessage"),$("#btnSubmitReview").removeAttr("disabled"),$("#processSubmitReview").hide()})}function ShowHideViewItems(){$("#btnEdit").hide(),RD.ViewModel.UserReviewsVM.UserRating()!=0||RD.ViewModel.UserReviewsVM.oBody()!=null&&RD.ViewModel.UserReviewsVM.oBody()!=""?($("#btnSubmitReview").hide(),$("#txtCommentBody").hide(),$("#loggedinCommentWrapper").show(),$("#loggedinRated").show(),$("#submitReviewUserInfo").show(),$("#btnEdit").show(),$("#spanUpdateCancelButtons").hide(),$("#starEditingText").hide(),$("#submitReviewValidationMsg").hide(),$("#submitReviewUserInfo").show(),(RD.ViewModel.UserReviewsVM.oBody()==null||RD.ViewModel.UserReviewsVM.oBody()=="")&&($("#loggedinRated").hide(),$("#loggedinCommentWrapper").hide(),$("#divComments .rd_currentuser").hide())):($("#btnSubmitReview").show(),$("#txtCommentBody").show(),$("#loggedinCommentWrapper").hide(),$("#loggedinRated").hide(),$("#starEditingText").show(),$("#submitReviewUserInfo").hide(),$("#submitReviewValidationMsg").removeClass("ErrorMessage")),RD.ViewModel.UserReviewsVM.UserRating()==0?($("#rd_yourrating .rd_star_rating_font").starRating("fixed",!1),$("#rd_yourrating .rd_star_rating_font").starRating("enable",!0)):($("#rd_yourrating .rd_star_rating_font").starRating("fixed",!0),$("#rd_yourrating .rd_star_rating_font").starRating("enable",!1))}function PopulateReviewModel(n){if($("#divComments .rd_currentuser .rd_star_rating_font").starRating(),ko.mapping.fromJS(n.contentCommentReviewModel,RD.ViewModel.UserReviewsVM),RD.ViewModel.UserReviewsVM.oBody(n.contentCommentReviewModel.Body.replace(/&lt;/g,"<").replace(/&gt;/g,">")),n.contentCommentReviewModel.UserRating!=0&&$("#divComments .rd_comment_rating .rd_stars").removeClass("hide"),$("#divComments .rd_currentuser .rd_star_rating_font").starRating("rate",n.contentCommentReviewModel.UserRating),$("#rd_yourrating .rd_star_rating_font").starRating("rate",n.contentCommentReviewModel.UserRating),RD.ViewModel.UserReviewsVM.oBody()==null){var t=$("#txtCommentBody").attr("placeholder");RD.ViewModel.UserReviewsVM.oBody(t?t:"")}}function RefreshRatingDistributionBox(n,t){var i=$.ajax({url:"/contentrating/getratingdistribution",type:"GET",data:{contentID:n,contentType:t}}).done(function(){var t,n;$("#ratingdistributionContainer").html(i.responseText),t=$("#average_rating").val(),$("#top_avg_rating").css({width:t}),n=$("#ratingdistributionContainer .rd_average_rating_container .rd_star_rating_font").attr("data-rd-star-rating"),$(".rd_recipetitle .rd_star_rating_font").first().starRating("rate",n)}).fail(function(){})}function getUserReviewDetail(){var n=$.ajax({url:"/contentcomments/getuserreviewmodel",type:"GET",data:{contentID:RD.ViewModel.UserReviewsVM.ContentID,contentType:RD.ViewModel.UserReviewsVM.ContentType}}).done(function(n){PopulateReviewModel(n),ShowHideViewItems()}).fail(function(){})}function ScrollToRate(){function n(){var n=$("#reviewRatingAndComment").offset().top-50;$("html, body").animate({scrollTop:n},"slow"),$("#txtCommentBody").focus()}setTimeout(n,5e3)}function ScrollToRateRecipe(){function n(){var n=$("#reviewRatingAndComment").offset().top-50;$("html, body").animate({scrollTop:n},"slow"),$("#txtCommentBody").focus()}setTimeout(n,500)}function AddRecipeToShoppingList(){RD.ViewModel.RecipePersonalizationVM.GroceryListText()!="On Shopping List"&&(jqxhr=$.get("/MyShoppingList/ShowAddToShoppingListOverlay/",{contentId:document.getElementById("RecipeId").value,ContentType:document.getElementById("ContentType").value,RecipeType:document.getElementById("RecipeType").value,source:1,recipeBoxFolderId:null}).done(function(n){$("#MyShoppingListOverlayForm").html(n),$("#MyShoppingListOverlayForm").modal("show")}))}function AddToShoppingList(n){if($(n).attr("href")=="#"){var t=JSON.parse($(n).attr("data-content-item"));jqxhr=$.get("/MyShoppingList/ShowAddToShoppingListOverlay/",{contentId:t.contentId,contentType:t.contentType,RecipeType:t.RecipeType,recipeBoxFolderId:t.currentFolderId,source:1}).done(function(t){$("#MyShoppingListOverlayForm").html(t),$("#MyShoppingListOverlayForm").modal("show"),$("#btnBacktorecipe").text("Back to Recipe Box"),$(n).html("On Shopping List").attr("href","/shopping-list")})}}function showCreateNewShoppingList(){var t=$("#divCreateNewShoppingList"),n=$("#divSelectShoppingListFolder");return t.removeClass("hidden"),n.addClass("hidden"),!1}function AddRecipeToMyshoppingList(n){var s=$("#hdnShoppingListContentId").val(),h=$("#hdnShoppingListContentType").val(),u=$("#SelectedFolder").val(),t=$("#newShoppingListTxt").val(),f=$("#spanenterfoldername"),r=$("#spanselectfolder"),o=$("#hdnRecipeBoxSelectedFolder").val(),i,e;if(f.addClass("hidden"),r.addClass("hidden"),n==0&&t=="")return f.removeClass("hidden"),t.focus(),!1;if(n==0&&t!=""){if($("#btnCreateShoppingList").attr("data-adobe-metrics",'{"module":"recipe engagement","name":create a new shopping list","position":"shopping list overlay", "shopping_list_folder ":"'+t+'"}'),i=checkSpecialChar(t),i&&i.length)return document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML=i,t.val(""),t.focus(),!1}else if(n==1&&u=="0")return r.removeClass("hidden"),r.focus(),!1;return n==1&&$("#btnAddRecipeToList").attr("data-adobe-metrics",'{"module":"recipe engagement","name":add recipe","position":"shopping list overlay", "shopping_list_folder ":"'+u+'"}'),e=$.getJSON("/MyShoppingList/AddRecipeToShoppingList/",{contentID:s,contentType:h,selectedFolder:u,newFolder:t,userActivity:parseInt(n),recipeBoxFolderId:o}).done(function(n){if(n.result===!0){var r=$("#divCreateNewShoppingList"),i=$("#divSelectShoppingListFolder"),t=$("#divShoppingListConfirmation");r.addClass("hidden"),i.addClass("hidden"),t.removeClass("hidden"),$("#btnshowaddtoshoppinglist").text("On Shopping List").attr("href","/shopping-list")}else n.result===!1&&(document.getElementById("lblRecipeBoxErrorMessage").style.display="inline",document.getElementById("lblRecipeBoxErrorMessage").innerHTML=n.message)}).fail(function(){}),!1}function checkSpecialChar(n){for(var r=n.split(""),u,i,t=0;t<r.length-1;t++)checkCharacter(r[t]);if(strError.length)return u=strError.lastIndexOf(","),strError=strError.replaceAt(u," "),i="",i='" '+strError+' " characters cannot be used in folder names.',objStr={},strError="",i}function checkCharacter(n){var t=/^([\'a-zA-Z0-9_ -])+$/ig;t.test(n)||objStr[n]||(objStr[n]=n,strError+=n+",")}var objStr={},strError="",currentRecipeBoxFolder,IsRecipeBoxShown,numberOfCommentsToDisplay,isRecipeboxClicked;String.prototype.replaceAt=function(n,t){return this.substr(0,n)+t+this.substr(n+t.length)},IsRecipeBoxShown=!1,$(document).ready(function(){$("#SearchPhraseMobile").keyup(function(){$.trim(this.value)!=""&&$("#SearchPhraseMobileBtn").attr("data-analytics-rb_search_term",$.trim(this.value))});var n=$("#SearchPhrase").val();$.trim(n)!=""&&$("#SearchPhraseMobileBtn").attr("data-analytics-rb_search_term",n),$("#NewFolder").keyup(function(){$.trim(this.value)!=""&&$("[data-analytics-new_folder_name]").attr("data-analytics-new_folder_name",$.trim(this.value))}),$("#SelectedFolder").change(function(){$("[data-analytics-save_folder_name]").attr("data-analytics-save_folder_name",this.value),$("#hlnkAddRecipe").attr("data-adobe-metrics",'{"module":"recipe engagement","name":"add recipe","position":"add to recipe box","Foldername":"'+this.value+'"}')}),$("#WebsiteRecipeUrl").keyup(function(){$.trim(this.value)!=""&&$("[data-analytics-web_recipe_url]").attr("data-analytics-web_recipe_url",$.trim(this.value))})}),numberOfCommentsToDisplay=0,isRecipeboxClicked=!1,typeof RD=="undefined"&&(RD={}),typeof RD.Widgets=="undefined"&&(RD.Widgets={}),function(n){var t=RD.Widgets.CommentModeration={};t.Init=function(){n(document).on("click","*[data-comment_edit]",function(i){t.ShowControls(i,n(this))});n(document).on("click","*[data-comment_edit_cancel]",function(i){t.HideControls(i,n(this))});n(document).on("click","*[data-comment_edit_update]",function(i){return t.Save(i,n(this)),!1});n(document).on("click","*[data-comment_edit_delete]",function(i){t.Delete(i,n(this))})},t.ShowControls=function(n,t){var f=t,i=f.closest(".rd_user_comment"),r,u;i.addClass("rd_section"),r=i.find(".rd_star_rating_font"),u=i.find(".rd_stars"),u.removeClass("hide"),r.show(),i.find(".rd_editing_comment_body").show(),i.find("[data-comment_editing_buttons]").show(),i.find("[data-comment_moderating_buttons]").hide(),i.find(".rd_comments_body").hide(),i.attr("rd-star-rating-initiated")||(r.starRating(),i.attr("rd-star-rating-initiated",1)),r.starRating("enable",!0)},t.HideControls=function(n,t){var u=t,i=u.closest(".rd_user_comment"),r;i.removeClass("rd_section"),r=i.find(".rd_star_rating_font"),r.show(),i.find(".rd_editing_comment_body").hide(),i.find("[data-comment_editing_buttons]").hide(),i.find("[data-comment_moderating_buttons]").show(),i.find(".rd_comments_body").show(),r.starRating("enable",!1),r.starRating("rate",r.starRating("save"))},t.Save=function(t,i){var l=i,r=l.closest(".rd_user_comment"),o=n("meta[name='contentId']").attr("content"),s=n("meta[name='contentType']").attr("content"),u=r.find("[data-comment_edit_body]").val(),f=r.find(".rd_star_rating_font"),e=f.starRating("rate"),c=r.find("[data-comment_edit_posted_by]").attr("data-comment_edit_posted_by"),h=r.find("[data-comment_Id]").attr("data-comment_Id");n.ajax({url:"/contentcomments/moderatereview",type:"POST",data:{contentID:o,contentType:s,userRating:e,commentBody:escape(u),postedById:c,commentId:h}}).done(function(t){var h=t.split("^"),i;h[0]=="success"?(u='"'+h[1].trim()+'"',r.find(".rd_comments_body").html(u),r.find(".rd_editing_comment_body").hide(),r.find("[data-comment_editing_buttons]").hide(),r.find("[data-comment_moderating_buttons]").show(),r.find(".rd_comments_body").show(),r.find("[data-comment_edit_error_msg]").hide(),i=r.find("[data-comment_edit_posted_by]").attr("data-comment_edit_posted_by"),f.starRating("save",e),f.starRating("enable",!1),n(".rd_stars_"+i+" .rd_star_rating_font").each(function(){n(this).starRating("rate",e)}),RefreshRatingDistributionBox(o,s)):(r.find("[data-comment_edit_error_msg]").html("Could not save review. Please try again after sometime."),r.find("[data-comment_edit_error_msg]").show())}).fail(function(n){n.getResponseHeader("BadWordError")!=""?(r.find("[data-comment_edit_error_msg]").html("Text entered contains offensive language. Please review your information and make appropriate changes. For concerns, please contact digitalsupport@tasteofhome.com."),r.find("[data-comment_edit_error_msg]").show()):n.getResponseHeader("HTMLFoundError")=="HTML found in comment body"?(r.find("[data-comment_edit_error_msg]").html("Please remove html and try submitting your review again."),r.find("[data-comment_edit_error_msg]").show()):(r.find("[data-comment_edit_error_msg]").html("Could not save review. Please try again after sometime."),r.find("[data-comment_edit_error_msg]").show())})},t.Delete=function(t,i){if(confirm("Are you sure you want to delete this comment?")){var s=i,r=s.closest(".rd_user_comment"),u=n("meta[name='contentId']").attr("content"),f=n("meta[name='contentType']").attr("content"),o=r.find("[data-comment_edit_posted_by]").attr("data-comment_edit_posted_by"),e=r.find("[data-comment_Id]").attr("data-comment_Id");n.ajax({url:"/contentcomments/deletereview",type:"POST",data:{contentID:u,contentType:f,postedById:o,commentId:e}}).done(function(){r.hide(),RefreshRatingDistributionBox(u,f)})}},n(function(){t.Init(),function(){var i,r,t;i=window.location.href.indexOf("?")==-1?window.location.href:window.location.href.split("?")[0],r=i.split("/"),t=i.lastIndexOf("/")!==i.length-1?r[r.length-1]:r[r.length-2],t=t.toLowerCase(),(t==="rate"||t==="rating"||t==="comments"||window.location.href.toLowerCase().indexOf("registrationsource=rate")!=-1)&&ScrollToRate(),n("#LoginToPostReview").click(function(){var i="review module",t="login",n=window.location.href;trackLinkComscore(i,t,n,!1,"None","None",null,"None")})}()})}($)