YUI.add("hermes-template-profile-bio-description-edit",function(e,t){var a=e.Template.Handlebars.revive({compiler:[7,">= 4.0.0"],main:function(e,t,a,n,s){var i,r=null!=t?t:{},l=a.helperMissing,d=e.escapeExpression;return'<div class="edit-description">\n\t<textarea name="name" class="edit-desc resizable-vert">'+d((a.renderTrustedMarkup||t&&t.renderTrustedMarkup||l).call(r,null!=(i=null!=(i=null!=t?t.description:t)?i.edit:i)?i.originalDescription:i,{name:"renderTrustedMarkup",hash:{},data:s}))+'</textarea>\n\t<div class="actions">\n\t\t<button type="button" class="save butt">'+d((a.intlMessage||t&&t.intlMessage||l).call(r,{name:"intlMessage",hash:{intlName:"common.SAVE"},data:s}))+'</button>\n\t\t<button type="button" class="cancel alt butt">'+d((a.intlMessage||t&&t.intlMessage||l).call(r,{name:"intlMessage",hash:{intlName:"common.CANCEL"},data:s}))+"</button>\n\t</div>\n</div>\n"},useData:!0}),n={};e.Array.each([],function(t){var a=e.Template.get("hermes/"+t);a&&(n[t]=a)}),e.Template.register("hermes/profile-bio-description-edit",function(t,s){return s=s||{},s.partials=s.partials?e.merge(n,s.partials):n,a(t,s)})},"@VERSION@",{requires:["template-base","handlebars-base"]});YUI.add("hermes-template-profile-bio-privacy",function(r,e){var n=r.Template.Handlebars.revive({1:function(r,e,n,a,l){var i;return null!=(i=r.invokePartial(a["flickr-balls"],e,{name:"flickr-balls",data:l,indent:"\t",helpers:n,partials:a,decorators:r.decorators}))?i:""},3:function(r,e,n,a,l){var i;return null!=(i=n.if.call(null!=e?e:{},null!=e?e.success:e,{name:"if",hash:{},fn:r.program(4,l,0),inverse:r.program(6,l,0),data:l}))?i:""},4:function(r,e,n,a,l){return'\t\t<svg class="icon icon-check"><use xlink:href="#icon-check"></use></svg>\n'},6:function(r,e,n,a,l){var i;return null!=(i=n.if.call(null!=e?e:{},null!=e?e.private:e,{name:"if",hash:{},fn:r.program(7,l,0),inverse:r.program(9,l,0),data:l}))?i:""},7:function(r,e,n,a,l){return'\t\t\t<svg class="icon icon-private"><use xlink:href="#icon-private"></use></svg>\n\t\t\t<svg class="icon icon-dropdown_arrow"><use xlink:href="#icon-dropdown_arrow"></use></svg>\n'},9:function(r,e,n,a,l){return'\t\t\t<svg class="icon icon-people"><use xlink:href="#icon-people"></use></svg>\n\t\t\t<svg class="icon icon-dropdown_arrow"><use xlink:href="#icon-dropdown_arrow"></use></svg>\n'},compiler:[7,">= 4.0.0"],main:function(r,e,n,a,l){var i;return null!=(i=n.if.call(null!=e?e:{},null!=e?e.loading:e,{name:"if",hash:{},fn:r.program(1,l,0),inverse:r.program(3,l,0),data:l}))?i:""},usePartial:!0,useData:!0}),a={};r.Array.each(["flickr-balls"],function(e){var n=r.Template.get("hermes/"+e);n&&(a[e]=n)}),r.Template.register("hermes/profile-bio-privacy",function(e,l){return l=l||{},l.partials=l.partials?r.merge(a,l.partials):a,n(e,l)})},"@VERSION@",{requires:["template-base","handlebars-base","hermes-template-flickr-balls"]});YUI.add("hermes-template-profile-bio-infos-edit",function(a,e){var l=a.Template.Handlebars.revive({compiler:[7,">= 4.0.0"],main:function(a,e,l,s,t){var n,i,p=null!=e?e:{},c=l.helperMissing,r=a.escapeExpression,o=a.lambda;return'<div class="infos-edit-container with-privacy">\n\t<ul>\n\t\t<li><span>'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_JOINED"},data:t}))+"</span><span>"+r("function"==typeof(i=null!=(i=l.joinedDate||(null!=e?e.joinedDate:e))?i:c)?i.call(p,{name:"joinedDate",hash:{},data:t}):i)+"</span></li>\n\t\t<li><span>"+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_OCCUPATION"},data:t}))+'</span><input type="text" name="occupation" value="'+r(o(null!=(n=null!=e?e.profileData:e)?n.occupation:n,e))+'" /><span class="success-check"></span></li>\n\t\t<li><span>'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_HOMETOWN"},data:t}))+'</span><input type="text" name="hometown" value="'+r(o(null!=(n=null!=e?e.profileData:e)?n.hometown:n,e))+'" /><span class="success-check"></span></li>\n\t\t<li><span>'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_CURRENT_CITY"},data:t}))+'</span><input type="text" name="city" value="'+r(o(null!=(n=null!=e?e.profileData:e)?n.city:n,e))+'" /><span class="success-check"></span>\n\t\t\t<span class="privacy" data-privacy="location">\n'+(null!=(n=a.invokePartial(s["profile-bio-privacy"],e,{name:"profile-bio-privacy",hash:{loading:!0},data:t,indent:"\t\t\t\t",helpers:l,partials:s,decorators:a.decorators}))?n:"")+"\t\t\t</span>\n\t\t</li>\n\t\t<li><span>"+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_COUNTRY"},data:t}))+'</span><input type="text" name="country" value="'+r(o(null!=(n=null!=e?e.profileData:e)?n.country:n,e))+'" /><span class="success-check"></span></li>\n\t\t<li><span>'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_EMAIL"},data:t}))+'</span><span title="'+r(o(null!=(n=null!=e?e.profileData:e)?n.email:n,e))+'" class="email-text">'+r(o(null!=(n=null!=e?e.profileData:e)?n.email:n,e))+'</span>\n\t\t\t<span class="privacy" data-privacy="email">\n'+(null!=(n=a.invokePartial(s["profile-bio-privacy"],e,{name:"profile-bio-privacy",hash:{loading:!0},data:t,indent:"\t\t\t\t",helpers:l,partials:s,decorators:a.decorators}))?n:"")+"\t\t\t</span>\n\t\t</li>\n\t</ul>\n\t<ul>\n\t\t<li><span>"+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_WEBSITE"},data:t}))+'</span><input type="url" name="website" value="'+r(o(null!=(n=null!=e?e.profileData:e)?n.website:n,e))+'" /><span class="success-check"></span></li>\n\t\t<li><span>'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_FACEBOOK"},data:t}))+'</span><input type="text" name="facebook" placeholder="'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.PLACEHOLDER_SOCIAL"},data:t}))+'" value="'+r(o(null!=(n=null!=e?e.profileData:e)?n.facebook:n,e))+'" /><span class="success-check"></span></li>\n\t\t<li><span>'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_TWITTER"},data:t}))+'</span><input type="text" name="twitter" placeholder="'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.PLACEHOLDER_SOCIAL"},data:t}))+'" value="'+r(o(null!=(n=null!=e?e.profileData:e)?n.twitter:n,e))+'" /><span class="success-check"></span></li>\n\t\t<li><span>'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_INSTAGRAM"},data:t}))+'</span><input type="text" name="instagram" placeholder="'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.PLACEHOLDER_SOCIAL"},data:t}))+'" value="'+r(o(null!=(n=null!=e?e.profileData:e)?n.instagram:n,e))+'" /><span class="success-check"></span></li>\n\t\t<li><span>'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_PINTEREST"},data:t}))+'</span><input type="text" name="pinterest" placeholder="'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.PLACEHOLDER_SOCIAL"},data:t}))+'" value="'+r(o(null!=(n=null!=e?e.profileData:e)?n.pinterest:n,e))+'" /><span class="success-check"></span></li>\n\t\t<li><span>'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.BIO_TUMBLR"},data:t}))+'</span><input type="text" name="tumblr" placeholder="'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.PLACEHOLDER_SOCIAL"},data:t}))+'" value="'+r(o(null!=(n=null!=e?e.profileData:e)?n.tumblr:n,e))+'" /><span class="success-check"></span></li>\n\t\t<li class="done"><span>'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"profile.PROFILE_SAVED_AUTO"},data:t}))+'</span><span class="actions"><button class="btn done-edit">'+r((l.intlMessage||e&&e.intlMessage||c).call(p,{name:"intlMessage",hash:{intlName:"common.DONE"},data:t}))+"</button></span></li>\n\t</ul>\n</div\n"},usePartial:!0,useData:!0}),s={};a.Array.each(["profile-bio-privacy","profile-bio-privacy"],function(e){var l=a.Template.get("hermes/"+e);l&&(s[e]=l)}),a.Template.register("hermes/profile-bio-infos-edit",function(e,t){return t=t||{},t.partials=t.partials?a.merge(s,t.partials):s,l(e,t)})},"@VERSION@",{requires:["template-base","handlebars-base","hermes-template-profile-bio-privacy","hermes-template-profile-bio-privacy"]});YUI.add("hermes-template-profile-tooltip",function(e,n){var a=e.Template.Handlebars.revive({compiler:[7,">= 4.0.0"],main:function(e,n,a,t,r){var i,l=null!=n?n:{},o=a.helperMissing,s=e.escapeExpression;return"<div>\n\t"+s("function"==typeof(i=null!=(i=a.content||(null!=n?n.content:n))?i:o)?i.call(l,{name:"content",hash:{},data:r}):i)+'\n\t<br/>\n\t<br/>\n\t<a class="close-onboarding">'+s("function"==typeof(i=null!=(i=a.confirmationLink||(null!=n?n.confirmationLink:n))?i:o)?i.call(l,{name:"confirmationLink",hash:{},data:r}):i)+"</a>\n</div>\n"},useData:!0}),t={};e.Array.each([],function(n){var a=e.Template.get("hermes/"+n);a&&(t[n]=a)}),e.Template.register("hermes/profile-tooltip",function(n,r){return r=r||{},r.partials=r.partials?e.merge(t,r.partials):t,a(n,r)})},"@VERSION@",{requires:["template-base","handlebars-base"]});YUI.add("profile-bio-page-view",function(e){var i=require("html-truncate");e.namespace("Views")[this.name]=e.Base.create("profile-bio-page-view",e.FlickrView,[],{langBundles:this.details.langBundles,initializer:function(e){return this.nsid=e.nsid,this.showcaseSetId=e.showcaseSetId,this.set("longDescriptionShown",!1),this.set("isViewingSelf",e.isViewingSelf),this.resetDoneBtnStateTimer=!1,this.privacyCheckTimeout=[],this},subviewConfig:{"profile-bio-showcase-view":{requiredToShowOnClient:!0,requiredToShowOnServer:!0}},loadState:function(){var i=[this.appContext.getModel("person-models",this.nsid),this.appContext.getModel("person-public-profile-models",this.nsid,{hideStats:YUI.Env.isServer}),this.appContext.getModel("person-relationship-models",this.nsid),this.appContext.getModel("person-profile-models",this.nsid)];return this.appContext.getViewer().signedIn&&i.push(this.appContext.getModel("person-models",this.appContext.getViewer().nsid)),e.Promise.all(i).then(function(e){this.set("personModel",e[0]),this.set("publicProfileData",e[1]),this.set("relationship",e[2]),this.set("personProfile",e[3]),e[4]&&this.set("viewerModel",e[4])}.bind(this))},buildContainer:function(){var i=e.URLHelper.generatePersonUrls(this.get("personModel"));return this.setContainerWithTemplate("profile-bio-page-view",{isViewingSelf:this.get("isViewingSelf"),person:this.get("personModel").toJSON(),urls:i,isMinor:this.get("personModel").getValue("isMinor"),blockUserLink:this.canBlockUser(),description:this.getDescriptions(),followingStatus:this.getFollowingStatus(),stats:this.getGeneralStats(),visiblePeople:!0,joinedDate:this.get("publicProfileData").getValue("joinedDate").format("MMMM YYYY"),profileData:this.get("publicProfileData").toJSON(),showProfileOnboardingTooltip:this.get("isViewingSelf"),hideStats:YUI.Env.isServer}),this},canBlockUser:function(){var e=!0;return(!this.appContext.getViewer().signedIn||this.get("isViewingSelf")||this.get("relationship").getValue("isIgnored"))&&(e=!1),e},getDescriptions:function(){var e,t,s=this.get("publicProfileData"),n=!1;return t=s.getValue("profileDescription"),e=s.getValue("profileDescriptionExpanded"),t&&(n={view:{longDescription:e,shortDescription:i(e,500,{keepImageTag:!0}),readMore:t.length>500},edit:{originalDescription:t}}),n},getGeneralStats:function(){var i,t=this.get("publicProfileData"),s=t.getValue("totalViews"),n=t.getValue("totalTags"),o=t.getValue("totalGeotagged"),a=t.getValue("totalFaves"),r=t.getValue("totalInGroup"),l=this.get("viewerModel");return i=l&&this.get("isViewingSelf")?l.getValue("isPro")?e.URLHelper.generatePersonUrls(this.get("viewerModel")).stats:"/account/upgrade/pro":e.URLHelper.generatePersonUrls(this.get("personModel")).photostream,{viewsLink:i,totalViewsCount:s,totalTagsCount:n,totalGeotaggedCount:o,totalFaves:a,totalInGroup:r}},getFollowingStatus:function(){var e=!1,i=this.get("personModel").getValue("displayname");return this.appContext.getViewer().signedIn&&!this.get("isViewingSelf")&&(e=this.get("relationship").getValue("isRevFamily")&&this.get("relationship").getValue("isRevFriend")?this.intlMessage({intlName:"profile.USER_IS_FRIEND_FAMILY",username:i}):this.get("relationship").getValue("isRevFriend")?this.intlMessage({intlName:"profile.USER_IS_FRIEND",username:i}):this.get("relationship").getValue("isRevFamily")?this.intlMessage({intlName:"profile.USER_IS_FAMILY",username:i}):!!this.get("relationship").getValue("isRevContact")&&this.intlMessage({intlName:"profile.USER_FOLLOWS_YOU",username:i})),e},activate:function(){var e=this.get("container");return this.appContext.getModelRegistry("person-public-profile-models").then(function(e){e.remove(this.nsid),this.appContext.getModel("person-public-profile-models",this.nsid,{hideStats:!1}).then(function(e){this.set("publicProfileData",e),this.buildContainer()}.bind(this))}.bind(this)),this.registerEventHandler(e.delegate("click",this.onReadMoreClick.bind(this),".read-more")),this.get("isViewingSelf")&&(this.registerEventHandler(e.delegate("click",this.onEditDescriptionClick.bind(this),".toggle-edit-description")),this.registerEventHandler(e.delegate("key",this.onEditDescriptionClick.bind(this),"down:13",".toggle-edit-description")),this.registerEventHandler(e.delegate("click",this.onEditDescriptionClick.bind(this),".empty-description-handler")),this.registerEventHandler(e.delegate("click",this.onSaveDescription.bind(this),".edit-description .save")),this.registerEventHandler(e.delegate("click",this.onCancelDescription.bind(this),".edit-description .cancel")),this.registerEventHandler(e.delegate("click",this.onEditInfosClick.bind(this),".toggle-edit-infos")),this.registerEventHandler(e.delegate("key",this.onEditInfosClick.bind(this),"down:13",".toggle-edit-infos")),this.registerEventHandler(e.delegate("click",this.onEditInfosClick.bind(this),".done-edit"))),this},onReadMoreClick:function(i){i.preventDefault(),i.stopPropagation();var t=this.get("container"),s=t.one(".description"),n=t.one(".read-more"),o=s.getY();this.get("longDescriptionShown")?(s.removeClass("expanded"),this.set("longDescriptionShown",!1),n.setHTML(this.intlMessage({intlName:"profile.READ_MORE"})),e.config.win.scrollTo(0,o),e.use("anim",function(e){new e.Anim({duration:.5,node:"win",easing:"easeBoth",to:{scroll:[0,o-100]}}).run()})):(s.addClass("expanded"),this.set("longDescriptionShown",!0),n.setHTML(this.intlMessage({intlName:"profile.READ_LESS"})))},onEditDescriptionClick:function(e){e.preventDefault(),e.stopPropagation();this.get("container").one(".description-container").setHTML(this.templates("profile-bio-description-edit")({description:this.getDescriptions(),isViewingSelf:this.get("isViewingSelf")})),this.set("longDescriptionShown",!1)},onCancelDescription:function(e){e.preventDefault(),e.stopPropagation();this.get("container").one(".description-container").setHTML(this.templates("profile-bio-description-view")({description:this.getDescriptions(),isViewingSelf:this.get("isViewingSelf")}))},getNewDescriptionValue:function(){return this.get("container").one("textarea.edit-desc").get("value")},onSaveDescription:function(){var e=this.get("container").one(".edit-description").all("button"),i=this.get("container").one("button.save");return e&&(e.setAttribute("disabled","disabled"),i.setHTML(this.intlMessage({intlName:"profile.SAVING"}))),this.get("publicProfileData").registry.remote.updateField({id:this.get("personModel").getValue("id"),field:"profileDescription",value:this.getNewDescriptionValue()},this.appContext).then(function(e){this.buildContainer()}.bind(this),function(e){this.buildContainer()}.bind(this))},onEditInfosClick:function(e){e.preventDefault(),e.stopPropagation();var i=this.get("container").one(".bio-infos-container");this.get("isEditingInfos")?(i.setHTML(this.templates("profile-bio-infos-view")({profileData:this.get("publicProfileData").toJSON(),joinedDate:this.get("publicProfileData").getValue("joinedDate").format("MMMM YYYY"),isViewingSelf:this.get("isViewingSelf"),showProfileOnboardingTooltip:this.get("isViewingSelf")})),this.set("isEditingInfos",!1),i.removeClass("is-editing")):(i.setHTML(this.templates("profile-bio-infos-edit")({profileData:this.get("publicProfileData").toJSON(),joinedDate:this.get("publicProfileData").getValue("joinedDate").format("MMMM YYYY"),isViewingSelf:this.get("isViewingSelf"),showProfileOnboardingTooltip:this.get("isViewingSelf")})),this.set("isEditingInfos",!0),i.addClass("is-editing"),this.isEditingTimer=!1,this.registerEventHandler(i.all("input").on("blur",this.saveNewValue.bind(this))),this.registerEventHandler(i.all("input").on("keyup",this.onPressKeyInInput.bind(this))),this.getPrivacySettings().then(this.updatePrivacyIcon))},onPressKeyInInput:function(e){if(13===e.keyCode)this.saveNewValue.call(this,e);else{var i=e.target,t=i.get("name"),s=i.get("value"),n=i.ancestor("li"),o=this.get("publicProfileData").getValue(t);if(o===s||void 0===o)return n.removeClass("success"),void i.removeClass("error");this.isEditingTimer&&clearTimeout(this.isEditingTimer),this.toggleDoneBtn(!0,!1),this.isEditingTimer=setTimeout(function(){this.saveNewValue(e)}.bind(this),1e3)}},saveNewValue:function(e){var i,t,s,n,o=e.target;if(o){if(i=o.get("name"),t=o.get("value"),s=o.ancestor("li"),n=this.get("publicProfileData").getValue(i),t!==n&&this.validateInput(i,t))return this.toggleDoneBtn(!1,!0),s.removeClass("success"),o.removeClass("error"),this.get("publicProfileData").registry.remote.updateField({id:this.get("personModel").getValue("id"),field:i,value:t},this.appContext).then(function(e){s.addClass("success"),this.toggleDoneBtn(!1,!1),"city"!==e.field&&"country"!==e.field||this.updateCoverPhotoLocation(),setTimeout(function(){s.removeClass("success")}.bind(this),3e3)}.bind(this),function(e){this.toggleDoneBtn(!1,!1),o.addClass("error")}.bind(this));t===n?(o.removeClass("error"),s.removeClass("success"),this.toggleDoneBtn(!1,!1)):(this.toggleDoneBtn(!1,!1),s.removeClass("success"),o.removeClass("error"))}},validateInput:function(e,i){return!0},updateCoverPhotoLocation:function(){if(this.get("isViewingSelf")){var e=this.get("publicProfileData"),i=[];e.getValue("city")&&i.push(e.getValue("city")),e.getValue("country")&&i.push(e.getValue("country")),this.get("personProfile").setValue("location",i.join(", "))}},toggleDoneBtn:function(e,i){var t=this.get("container").one(".done-edit");i?(t.setAttribute("disabled","disabled"),t.setHTML(this.intlMessage({intlName:"profile.SAVING"}))):e?t.setAttribute("disabled","disabled"):(this.resetDoneBtnStateTimer&&clearTimeout(this.resetDoneBtnStateTimer),this.resetDoneBtnStateTimer=setTimeout(function(){t.removeAttribute("disabled","disabled"),t.setHTML(this.intlMessage({intlName:"common.DONE"}))}.bind(this),500))},openPrivacyDropdown:function(i){i.halt();var t,s=i.target,n=s.getAttribute("data-privacy");n&&(this.privacyDropdown&&this.privacyDropdown.destroy({remove:!0}),"location"===n?t=[{text:this.intlMessage({intlName:"profile.EVERYONE"}),field:n,privacy:0,isSelected:0===this.get("privacyLocation")},{text:this.intlMessage({intlName:"profile.ANY_FLICKR_MEMBER"}),field:n,privacy:1,isSelected:1===this.get("privacyLocation")},{text:this.intlMessage({intlName:"profile.PEOPLE_I_FOLLOW"}),field:n,privacy:2,isSelected:2===this.get("privacyLocation")},{text:this.intlMessage({intlName:"profile.FRIENDS_AND_FAMILY"}),field:n,privacy:3,isSelected:3===this.get("privacyLocation")}]:"email"===n&&(t=[{text:this.intlMessage({intlName:"profile.EVERYONE"}),field:n,privacy:0,isSelected:0===this.get("privacyEmail")},{text:this.intlMessage({intlName:"profile.ANY_FLICKR_MEMBER"}),field:n,privacy:1,isSelected:1===this.get("privacyEmail")},{text:this.intlMessage({intlName:"profile.PEOPLE_I_FOLLOW"}),field:n,privacy:2,isSelected:2===this.get("privacyEmail")},{text:this.intlMessage({intlName:"profile.FRIENDS_AND_FAMILY"}),field:n,privacy:3,isSelected:3===this.get("privacyEmail")},{text:this.intlMessage({intlName:"profile.ONLY_ME"}),field:n,privacy:5,isSelected:5===this.get("privacyEmail")}]),this.privacyDropdown=new e.Views.FluidDroparound({appContext:this.appContext,showDropArrow:!0,observePageResize:!0,anchorElement:s,keyboardAnchorElement:s,minVerticalSpace:400,positionFixed:!0,preferLeft:!0,closeOnScroll:!0,anchorOffsetHorizontal:0,anchorOffsetVertical:0,menuItems:t}),this.privacyDropdown.show(),this.registerEventHandler(this.privacyDropdown.on("selected",this.onNewPrivacySelected.bind(this)),this))},onNewPrivacySelected:function(e){var i=this.get("container");if(e&&e.menuItem){var t=e.menuItem.field,s=e.menuItem.privacy,n=[];return n[t]=s,"location"===t?this.setLocationPrivacyLoading():"email"===t&&this.setEmailPrivacyLoading(),this.appContext.callAPI("flickr.account.setProfilePrivacy",n).then(function(e){"ok"===e.stat&&("location"===t?(this.set("privacyLocation",s),this.updatePrivacyIcon(i.one('span[data-privacy="location"]'),s,!0)):"email"===t&&(this.set("privacyEmail",s),this.updatePrivacyIcon(i.one('span[data-privacy="email"]'),s,!0)),this.privacyDropdown.close())}.bind(this),function(e){this.privacyDropdown.close(),this.updatePrivacyIcon()}.bind(this)).then(this.updatePrivacyIcon)}},getPrivacySettings:function(){var e=this.get("container"),i=e.one(".bio-infos-container");return this.appContext.callAPI("flickr.account.getProfilePrivacy",{timestamp:(new Date).getTime()}).then(function(t){var s=t.privacy;s?(this.set("privacyLocation",s.location),this.set("privacyEmail",s.email),this.registerEventHandler(i.all("span.privacy").on("click",this.openPrivacyDropdown.bind(this))),this.updatePrivacyIcon(e.one('span[data-privacy="location"]'),s.location,!1),this.updatePrivacyIcon(e.one('span[data-privacy="email"]'),s.email,!1)):this.updatePrivacyIcon()}.bind(this),function(e){this.updatePrivacyIcon()}.bind(this))},setLocationPrivacyLoading:function(){this.get("container").one('span[data-privacy="location"]').setHTML(this.templates("profile-bio-privacy")({loading:!0}))},setEmailPrivacyLoading:function(){this.get("container").one('span[data-privacy="email"]').setHTML(this.templates("profile-bio-privacy")({loading:!0}))},updatePrivacyIcon:function(e,i,t){this.get("container");e&&(t?(e.setHTML(this.templates("profile-bio-privacy")({loading:!1,success:!0})),this.privacyCheckTimeout[e]&&clearTimeout(this.privacyCheckTimeout[e]),this.privacyCheckTimeout[e]=setTimeout(function(){e.setHTML(this.templates("profile-bio-privacy")({loading:!1,visiblePeople:5!==i,private:5===i}))}.bind(this),1e3)):e.setHTML(this.templates("profile-bio-privacy")({loading:!1,visiblePeople:5!==i,private:5===i})))}})},"@VERSION@",{requires:["flickr-view","seo","url-helper","person-relationship-models","person-public-profile-models","person-profile-models","hermes-template-profile-bio-page-view","hermes-template-profile-bio-description-view","hermes-template-profile-bio-description-edit","hermes-template-profile-bio-infos-edit","hermes-template-profile-bio-privacy","hermes-template-profile-bio-infos-view","hermes-template-profile-tooltip","flickr-photosets-editMeta-updater","intl-number"],langBundles:["common","profile"]});YUI.add("flickr-photos-people-getContext-fetcher",function(e,o){"use strict";e.namespace("ListFetchers")["flickr-photos-people-getContext"]={run:function(t,s){var r=this;return e.Promise.all([s.callAPI("flickr.photos.people.getContext",this._processParams(t)),s.getModelRegistry("photosof-models"),s.getModelRegistry("photo-models"),s.getModelRegistry("person-models"),s.getModelRegistry("photo-engagement-models"),s.getModelRegistry("photo-stats-models")]).then(function(e){return r._processResponse(e,t)},function(e){throw 3===e.code&&"User not tagged in photo."===e.message&&(e.notInContext=!0),e}).then(null,e.FetcherErrorLogger(o))},_processParams:function(o){var t={photo_id:o.photoId,num_prev:o.numNext,num_next:o.numPrev,extras:e.APIHelper.request.getRebootPhotoExtras()};return o.id?t.user_id=o.id:t.path_alias=o.pathAlias,t},_processResponse:function(o,t){var s,r,n,p,a,h,i=o[0],l=o[1],d=o[2],g=o[3],u=o[4],m=o[5],c=[],x=[],y=d.proxy(t.photoId),M=[];return s=i.prevphotos,r=i.nextphotos,x=e.APIHelper.response.parsePhotos({photos:s.photo,personModelRegistry:g,photoModelRegistry:d,photoEngagementModelRegistry:u,photoStatsModelRegistry:m}),c=e.APIHelper.response.parsePhotos({photos:r.photo,personModelRegistry:g,photoModelRegistry:d,photoEngagementModelRegistry:u,photoStatsModelRegistry:m}),a=l.getValue(t.id,"photoContextList"),n=!!a.hasMinBoundary&&a.hasMinBoundary(),p=!!a.hasMaxBoundary&&a.hasMaxBoundary(),h=a.getList(),M=e.APIHelper.response.addOrReplaceListByContext({model:y,next:x,prev:c.reverse(),current:h,hasMin:n,hasMax:p,numNext:t.numNext,numPrev:t.numPrev}),l.setValue(t.id,"photoContextList",M),{next:x,previous:c.reverse()}}}},"@VERSION@",{requires:["flickr-promise","api-helper"],optional:["photosof-models","photo-models","person-models","photo-engagement-models","photo-stats-models"]});YUI.add("photosof-models",function(e){function t(e){t.superclass.constructor.call(this,e)}e.Models[this.name]=t,e.extend(t,e.FlickrModelRegistry,{name:this.name,remote:{read:function(t){return e.ListFetchers["flickr-people-getPhotosOf"].run(t,this.appContext)}},attributes:{displayType:{readOnly:!0,defaultFn:function(){return"photos of"}},title:{readOnly:!0,derivedBy:["owner"],defaultFn:function(e){var t,o=this.appContext.getViewer();return o&&o.nsid===e?"Photos of you":(t=this.getValue(e,"owner"))?"Photos of "+t.getValue("displayname"):"Photos of"}},pathAlias:{validator:function(t,o){return e.AttributeHelpers.validateString(t)},setter:function(t){return e.AttributeHelpers.coerceString(t)||void 0},defaultFn:function(e){return e}},owner:{isModel:!0},photoPageList:{isCollection:!0,pageFetch:{listFetcher:e.ListFetchers["flickr-people-getPhotosOf"]}},photoContextList:{isListProxy:!0,contextFetch:{listFetcher:e.ListFetchers["flickr-photos-people-getContext"],listItemIdField:"photoId"}},url:{readOnly:!0,derivedBy:["owner"],defaultFn:function(e){var t=this.getValue(e,"owner");return"/people/"+(t?t.getValue("pathAlias"):e)+"/photosof/"}},urlSuffix:{readOnly:!0,derivedBy:["owner"],defaultFn:function(e){return"photosof-"+this.getValue(e,"owner").getValue("pathAlias")}},totalItems:{validator:function(t,o){return e.AttributeHelpers.validateInteger(t)},setter:function(t){return e.AttributeHelpers.coerceInteger(t)},defaultValue:0}}})},"@VERSION@",{requires:["flickr-model-registry","flickr-promise","flickr-people-getPhotosOf-fetcher","flickr-photos-people-getContext-fetcher"]});