YAHOO.namespace("Natuba.Show");(function(){var D=YAHOO.util.Dom;var B=YAHOO.util.Connect;var C=YAHOO.util.Event;var E=YAHOO.lang.JSON;YAHOO.Natuba.Show.stars=[];var A=YAHOO.Natuba.Show.stars;YAHOO.Natuba.Show.RatingStar=function(H){this.css_classes=["full","half","empty"];for(var G=this.css_classes.length-1;G>=0;G--){var F=this.css_classes[G];if(D.hasClass(H,F)){this.fill_class=F;}}this.rating=parseInt(H.id.split("_")[1],10);this.el=H;this.onRate=new YAHOO.util.CustomEvent("rate",this);C.on(this.el,"mouseover",this.hover,{"over":true},this);C.on(this.el,"mouseout",this.hover,{"over":false},this);C.on(this.el,"click",this.rate,{},this);};YAHOO.lang.extend(YAHOO.Natuba.Show.RatingStar,Object,{setState:function(F){this.fill_class=F;this.resetSelection();},showEmptySelection:function(){this.unglow(true);D.removeClass(this.el,this.fill_class);D.addClass(this.el,"empty");},resetSelection:function(){for(var G=this.css_classes.length-1;G>=0;G--){var F=this.css_classes[G];if(D.hasClass(this.el,F)){D.removeClass(this.el,F);}}D.removeClass(this.el,"hover");if(!D.hasClass(this.el,this.fill_class)){D.addClass(this.el,this.fill_class);}},glow:function(F){if(!F){for(var G=0;G<A.length;G++){(A[G].rating<=this.rating)?A[G].glow(true):A[G].showEmptySelection();}}D.removeClass(this.el,this.fill_class);D.addClass(this.el,"hover");},unglow:function(F){if(!F){for(var G=0;G<A.length;G++){A[G].unglow(true);}}this.resetSelection();},hover:function(G,F){F.over?this.glow():this.unglow();},rate:function(F){C.stopEvent(F);B.asyncRequest("POST",D.get("rating_url").value,{success:function(J){var G=E.parse(J.responseText);for(var H=0;H<A.length;H++){var I=A[H].rating;if(I<=Math.floor(G.rating)){A[H].setState("full");}else{if(I>G.rating&&G.rating>(I-1)){A[H].setState("half");}else{A[H].setState("empty");}}}this.onRate.fire(G);},failure:function(G){},scope:this},"rating="+this.rating);}});})();YAHOO.Natuba.Show.Page=function(){var B=YAHOO.util.Dom;var N=YAHOO.util.Connect;var X=YAHOO.util.Event;var V=YAHOO.util.Anim;var M=YAHOO.util.ColorAnim;var E=YAHOO.lang;var Z=YAHOO.util.Selector;var T=YAHOO.Natuba.arrayContains;var A=YAHOO.Natuba.getElementHeight;var R=YAHOO.Natuba.getElementWidth;var D=YAHOO.lang.JSON;var K=YAHOO.util.KeyListener;var Q=YAHOO.Natuba.maskWithSpinner;var L=YAHOO.Natuba.showFlashMessage;var G=null,Y=null,S=null;var I=false;var F=function(c,b){return new V(c,{opacity:{to:b}},0.25,YAHOO.util.Easing.easeOut);};var W=function(c,b){var d=[];if(YAHOO.env.ua.ie){for(key in c){d.push(c[key]+"<br/>");}}else{d.push("<ul>");for(key in c){d.push("<li>"+c[key]+"</li>");}d.push("</ul>");}L(d.join(""),b,true,2000);};var C=function(h,n){if(typeof (h)=="string"){h=B.get(h);}var b={duration:0.3,height:A(h),callback:null};E.augmentObject(b,n,true);var l=b.height;var g=b.callback;var k=document.documentElement.scrollTop||document.body.scrollTop;var d=B.getViewportHeight();var m=B.getY(h);var j=(m-d)+l;var f=(d>l)?Math.max(k,j):m;var c=Math.abs(k-f);var e=f<k?-1:1;if(c>3){var i=new V(document.createElement("div"),{width:{by:100}},b.duration,YAHOO.util.Easing.easeOut);i.onTween.subscribe(function(o,p){var r=p[0].currentFrame/(b.duration*1000);var q=c*r;window.scrollTo(0,k+(q*e));});if(g){i.onComplete.subscribe(function(){g();});}i.animate();}else{if(g){g();}}};var U=function(c,k){if(typeof (c)=="string"){c=B.get(c);}var b={height:null,duration:0.3,focus_field:null,callback:null,animate:true};E.augmentObject(b,k,true);var d=b.animate;var f=b.callback;var j=b.height;if(!j||typeof (j)=="undefined"){var h=Z.query(".bd",c,true);j=A(h);var g=B.getNextSibling(h);var e=B.getPreviousSibling(h);if(g){j+=A(g);}if(e){j+=A(e);}}if(!U.keyListeners[c.id]){U.keyListeners[c.id]=new K(c,{keys:K.KEY.ESCAPE},function(){U(c,b);});}if(B.getStyle(c,"height")=="0px"){if(!b.focus_field&&(first_form=Z.query("form",c,true))){b.focus_field=Z.query('input[type="text"]',first_form,true);}var i=function(){b.focus_field&&b.focus_field.focus();f&&f();};if(d){a=new V(c,{"height":{to:j},"opacity":{to:1}},b.duration,YAHOO.util.Easing.easeOut);a.onComplete.subscribe(function(){i();});}C(c,{"height":j,"callback":function(){if(d){a.animate();}else{B.setStyle(c,"height",j+"px");i();}}});if(YAHOO.env.ua.gecko<1.9){B.removeClass(c,"hide-scrollbars");}U.keyListeners[c.id].enable();}else{if(d){a2=new V(c,{"height":{to:0},"opacity":{to:0}},b.duration,YAHOO.util.Easing.easeOut);if(f){a2.onComplete.subscribe(function(){f();});}a2.animate();}else{B.setStyle(c,"height","0px");if(f){f();}}if(YAHOO.env.ua.gecko<1.9){B.addClass(c,"hide-scrollbars");}U.keyListeners[c.id].disable();}};U.keyListeners={};var P=function(e,d){var f=0.3;var c=(e=="share")?"login":"share";if(B.getStyle(c,"height")!="0px"){var b=new V(c,{"height":{to:0},"opacity":{to:0}},f,YAHOO.util.Easing.easeOut);b.onComplete.subscribe(function(){U(e,{"height":d,"duration":f});});b.animate();return ;}else{U(e,{"height":d,"duration":f});}};var J=function(d,c){var b=d+"_reply_box";U(b,{"focus_field":Z.query("textarea",b,true),"callback":function(){Z.query("textarea",b,true).value="";if(c){c();}}});};var O=function(b){var c=b.id.split("_")[0];focus_field=Z.query("form textarea","update_"+c,true)||Z.query('form input[type="text"]',"update_"+c,true);U("update_"+c,{animate:false,focus_field:focus_field,callback:function(){if(B.hasClass(b,"no_display")){B.removeClass(b,"no_display");}else{B.addClass(b,"no_display");}}});};var H=function(b){X.on(b,"mouseover",function(c){if(!B.hasClass(b,"highlight")){B.addClass(b,"highlight");}});X.on(b,"mouseout",function(e){var d=X.getPageX(e);var c=X.getPageY(e);if(B.hasClass(b,"highlight")){var f=B.getRegion(b);if(f&&!f.intersect(new YAHOO.util.Region(c,1,1,d))){B.removeClass(b,"highlight");}}});};return{submitPhotoUpdate:function(d){X.stopEvent(d);var c=X.getTarget(d);var b=Z.query('input[type="submit"]',c,true);var f=c.id.split("_")[1];var g=B.get(f+"_display");Q(b);N.setForm(c);N.asyncRequest("POST",c.action,{success:function(h){var e=D.parse(h.responseText);if(e.success){g.innerHTML=e[f];if(f=="caption"){B.get("id_caption").value=e["raw_caption"];B.get("id_caption").blur();}else{B.get("id_title").value=e["raw_title"];B.get("id_title").blur();}O(g);B.removeClass(g,"highlight");}Q(b,true);},failure:function(e){},scope:this});},blogOrShare:function(d,b){X.stopEvent(d);var c=Z.query('input[type="submit"]',b.form,true);Q(c);N.setForm(b.form);N.asyncRequest("POST",b.form.action,{success:function(f){var e=D.parse(f.responseText);if(e.success){L(e.message,b.form,true);B.setStyle(c,"opacity",1);c.disabled=false;b.form.id=="share_form"?B.get("id_share_email_recipients").value="":null;B.batch(Z.query("input.multi_checkbox",b.form),function(g){g.checked=false;});B.batch(Z.query("ul li",b.form),function(g){B.removeClass(g,"selected");});}else{W(e.errors,b.form);}Q(c,true);},failure:function(f){Q(c,true);var e="There was an internal problem with Natuba.  The Natuba Team has been notified of this issue.  Please try again later.";L(e,b.form,true,3000);},scope:this});},reportPhoto:function(d){X.stopEvent(d);var c=B.get("report_photo_confirm");var b=B.get("report_submit");Q(b);N.setForm(c);N.asyncRequest("POST",c.action,{success:function(f){var e=D.parse(f.responseText);if(e.success){U("report_photo_confirm_panel",{"height":A(Z.query("form","report_photo_confirm_panel",true))});L(e.message,Z.query(".meta","content_object",true),true,3000);}else{W(e.errors,Z.query(".meta","content_object",true));}Q(b,true);},failure:function(f){var e="There was an internal problem with Natuba.  The Natuba Team has been notified of this issue.  Please try again later.";L(e,args.form,true,3000);Q(b,true);},scope:this});},addTag:function(d){X.stopEvent(d);var c=B.get("add_tag_form");var b=B.get("tag_submit");Q(b);N.setForm(c);N.asyncRequest("POST",c.action,{success:function(f){var e=D.parse(f.responseText);if(e.success){B.get("tag_list").innerHTML=e.html;B.get("id_tags").value="";U("add_tag_form_panel",{"height":A(Z.query("form","add_tag_form_panel",true))});}else{W(e.errors,Z.query(".meta","content_object",true));}Q(b,true);},failure:function(f){var e="There was an internal problem with Natuba.  The Natuba Team has been notified of this issue.  Please try again later.";L(e,args.form,true,3000);Q(b,true);},scope:this});},deleteTag:function(b){N.asyncRequest("POST",B.get("tag_remove_url").value,{success:function(h){var g=D.parse(h.responseText);if(g.success){var d=B.get("tag_"+g.tag);var e=F(d,0);e.onComplete.subscribe(function(){X.purgeElement(d,true);B.get("tag_list").removeChild(d);});var f=B.get("delete_"+g.tag);var c=F(d,0);c.onComplete.subscribe(function(){X.purgeElement(f,true);B.get("tag_list").removeChild(f);});e.animate();c.animate();}},failure:function(c){},scope:this},"tags="+b);},deleteComment:function(c,b){X.stopEvent(c);N.asyncRequest("POST",B.get("comment_remove_url").value,{success:function(f){var e=D.parse(f.responseText);if(e.success){var g=B.get("comment_"+e.comment_key);B.setStyle(g,"overflow","hidden");var d=new V(g,{height:{to:0},opacity:{to:0}},0.5,YAHOO.util.Easing.easeOut);d.onComplete.subscribe(function(){X.purgeElement(g,true);B.get("comment_list").removeChild(g);if(Z.query("#comments .comment").length==0){var h=document.createElement("div");B.addClass(h,"comment");B.addClass(h,"no_comments");h.innerHTML="<h4>There are no comments yet.</h4>";B.get("comments").appendChild(h);}});d.animate();}},failure:function(d){},scope:this},E.substitute("comment_key={comment_key}",b));},submitComment:function(b,c){var d=function(e){C(e,{"callback":function(){new M(e,{opacity:{to:1},backgroundColor:{from:"#FFA94D",to:"#fff"}},1,YAHOO.util.Easing.easeOut).animate();}});};X.stopEvent(b);N.setForm(c.form);Q(c.button);N.asyncRequest("POST",c.form.action,{success:function(j){var g=D.parse(j.responseText);if(g.success){if(g.parent){var h=document.createElement("ul");B.addClass(h,"comment_reply_list");h.innerHTML=g.comment_html;B.setStyle(h,"opacity",0);B.get("comment_"+g.parent).appendChild(h);J(g.parent,function(){d(h);});}else{var e=document.createElement("li");B.addClass(e,"comment");e.id="comment_"+g.comment_key;e.innerHTML=g.comment_html;B.get("comment_list").appendChild(e);B.setStyle(e,"opacity",0);d(e);}var f=Z.query("textarea",c.form,true);f.value="";f.blur();var i=Z.query(".no_comments","comments",true);if(i){B.get("comments").removeChild(i);}}else{W(g.errors,c.form);}Q(c.button,true);},failure:function(e){Q(c.button,true);},scope:this});},addRemoveFavorite:function(){var c=B.get("favorite_link");var d=B.hasClass(c,"add");var b=B.get(d?"add_favorite_url":"remove_favorite_url").value;N.asyncRequest("POST",b,{success:function(f){var e=D.parse(f.responseText);if(e.success){if(d){B.removeClass(c,"add");B.addClass(c,"remove");c.setAttribute("title","Remove from Your Favorites.");}else{B.removeClass(c,"remove");B.addClass(c,"add");c.setAttribute("title","Add to Your Favorites.");}}L(e.message,B.get("favorite_link"));},failure:function(e){L("Sorry, there was a problem when trying to add your favorite.The Natuba Team has been notified.  Please try again later.  Thanks.",B.get("favorite_link"));},scope:this});},doneRating:function(b,c){L("Thanks for rating!",B.get("rating"));},init:function(){Y=B.get("title_display");S=B.get("caption_display");I=B.get("is_content_owner")?B.get("is_content_owner").value:false;B.batch(Z.query("a.comment_delete_link"),function(d){X.on(d,"click",this.deleteComment,{comment_key:d.id},this);},this,true);if(YAHOO.Natuba.USER_NAME){G=Z.query("#rating .star");for(var b=0;b<G.length;b++){var c=new YAHOO.Natuba.Show.RatingStar(G[b]);c.onRate.subscribe(this.doneRating,this,true);YAHOO.Natuba.Show.stars.push(c);}}else{X.on("rating","click",function(d){X.stopEvent(d);P("login");});}X.on("favorite_link","click",function(d){X.stopEvent(d);YAHOO.Natuba.USER_NAME?this.addRemoveFavorite():P("login");},this,true);X.on("share_link","click",function(d){X.stopEvent(d);P("share");});X.on("share_form","submit",this.blogOrShare,{form:B.get("share_form")},this);X.on("blog_form","submit",this.blogOrShare,{form:B.get("blog_form")},this);if(I){X.on([Y,"cancel_update_title"],"click",function(d){if(X.getTarget(d).tagName!="A"){O(Y);X.stopEvent(d);}});X.on([S,"cancel_update_caption"],"click",function(d){if(X.getTarget(d).tagName!="A"){O(S);X.stopEvent(d);}});H(Y);H(S);X.on(["update_caption_form","update_title_form"],"submit",this.submitPhotoUpdate,this,true);X.on(["add_tag_link","cancel_add_tag"],"click",function(d){X.stopEvent(d);U("add_tag_form_panel",{"height":A(Z.query("form","add_tag_form_panel",true))});},{},this);X.on("add_tag_form","submit",this.addTag,{},this);X.on("tag_list","click",function(d){var e=X.getTarget(d);if(B.hasClass(e,"tag_delete_link")){this.deleteTag(e.getAttribute("raw_tag"));X.preventDefault(d);}},this,true);}X.on(["comment_list","add_comment"],"click",function(d){var e=X.getTarget(d);if(B.hasClass(e,"comment_reply_link")||B.hasClass(e,"comment_reply_cancel")){J(e.id.split("_")[0]);X.preventDefault(d);}else{if(B.hasClass(e,"comment_delete_link")){this.deleteComment(d,{comment_key:e.id});X.preventDefault(d);}else{if(B.hasClass(e,"submitbtn")){this.submitComment(d,{"form":B.getAncestorByTagName(e,"form"),"button":e});X.preventDefault(d);}}}},this,true);X.on(["id_embed_code","id_embed_code_blog","id_linkback"],"click",function(f){var d=X.getTarget(f);d.focus();d.select();});X.on(Z.query("form .multi_checkbox","share"),(YAHOO.env.ua.ie)?"click":"change",function(e){var f=X.getTarget(e);var d=B.getAncestorByTagName(f,"li");if(f.checked&&!B.hasClass(d,"selected")){B.addClass(d,"selected");}else{if(!f.checked&&B.hasClass(d,"selected")){B.removeClass(d,"selected");}}});X.on(["delete_photo_link","cancel_delete"],"click",function(d){X.stopEvent(d);U("delete_photo_panel",{"height":A(Z.query("form","delete_photo_panel",true))});},{},this);X.on(["report_photo","cancel_report"],"click",function(d){X.stopEvent(d);U("report_photo_confirm_panel",{"height":A(Z.query("form","report_photo_confirm_panel",true))});},{},this);X.on("report_photo_confirm","submit",this.reportPhoto,{},this);B.get("digg_post").src=B.get("digg_url").value;B.get("reddit_post").src=B.get("reddit_url").value;if((gecko_version=YAHOO.env.ua.gecko)){if(gecko_version<1.9){B.addClass("share","hide-scrollbars");B.addClass("update_caption","hide-scrollbars");}B.batch(Z.query("#related .related_item .title a"),YAHOO.Natuba.truncateText);B.batch(Z.query("#related .related_item .caption"),YAHOO.Natuba.truncateText);YAHOO.Natuba.truncateText(Z.query(".meta .avatar a.username","content_object",true),4);B.batch(Z.query(".comment .avatar a.username","comment_list"),function(d){YAHOO.Natuba.truncateText(d,1);});}}};}();YAHOO.util.Event.onDOMReady(YAHOO.Natuba.Show.Page.init,YAHOO.Natuba.Show.Page,true);