var Y=YAHOO;var yut=YAHOO.util;var yud=YAHOO.util.Dom;var yue=YAHOO.util.Event;var yua=YAHOO.util.Anim;var yuc=YAHOO.util.Connect;var gRatingMap=["down","mid","up"];var gWishlistActions={add:{"1":"Want To Go","11":"Want To Try","4":"Want To See","13":"Want To Read","12":"Want To Go","15":"Want List","16":"Want It"},remove_short:{"1":"Remove Want To","11":"Remove Want To","4":"Remove Want To","13":"Remove Want To","12":"Remove Want To","15":"Remove Want List","16":"Remove Want It"},remove:{"1":"Remove Want To Go","11":"Remove Want To Try","4":"Remove Want To See","13":"Remove Want To Read","12":"Remove Want To Go","15":"Remove Want List","16":"Remove Want It"}};var gQuickTip=null;var gicon_urls=[];gicon_urls.to="/site_media/img/blue_pin.png";gicon_urls.up="/site_media/img/green_pin.png";gicon_urls.maybe="/site_media/img/amber_pin.png";gicon_urls.down="/site_media/img/red_pin.png";gicon_urls.none="/site_media/img/grey_pin.png";var gEntityQuickTips=[];var _entitiesData=null;var _entitiesSearchData=null;var _userId=-1;var _userName="USER NAME NOT SET";var _userUrl="USER URL NOT SET";function getPageScroll(){var B,A;if(self.pageYOffset){A=self.pageYOffset;B=self.pageXOffset}else{if(document.documentElement&&document.documentElement.scrollTop){A=document.documentElement.scrollTop;B=document.documentElement.scrollLeft}else{if(document.body){A=document.body.scrollTop;B=document.body.scrollLeft}}}arrayPageScroll=[B,A];return arrayPageScroll}function getPageSize(){if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY}else{if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight}}var A,B;if(self.innerHeight){if(document.documentElement.clientWidth){A=document.documentElement.clientWidth}else{A=self.innerWidth}B=self.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){A=document.documentElement.clientWidth;B=document.documentElement.clientHeight}else{if(document.body){A=document.body.clientWidth;B=document.body.clientHeight}}}if(yScroll<B){pageHeight=B}else{pageHeight=yScroll}if(xScroll<A){pageWidth=xScroll}else{pageWidth=A}arrayPageSize=[pageWidth,pageHeight,A,B];return arrayPageSize}function topChecked(C){var B=yud.get("t_"+C);var A=yud.get(C);if(B&&A&&(A.checked!=B.checked)){A.checked=B.checked}}function closeShowMoreEP(B,A){closeShowMore(A)}function closeShowMoreKU(B,A){if(yue.getCharCode(B)==27){closeShowMore(A)}}function closeShowMore(A){var B=yud.get(A);yud.addClass(B,"hide");yud.addClass("bg","hide");yue.removeListener("bg","click",closeShowMoreEP);yue.removeListener(window,"keyup",closeShowMoreKU);yue.removeListener(document,"keypress",submitShowMore)}function submitShowMore(B,A){if(yue.getCharCode(B)==13){_submitMenu.fire(A)}}function showMore(J,P,R){var B=yud.get(J);var E=yud.get(J);var D=yud.get(R);var I=yud.get(P);yud.removeClass(E,"hide");var K=parseInt(yud.getX(I),10)+20;var C=parseInt(yud.getX(I),10)-125;yud.setX(E,K);yud.setY(E,C);var A=getPageScroll();var H=getPageSize();var F=yud.getRegion(E);var M=yud.getClientHeight()+yud.getDocumentScrollTop();var Q=yud.getClientWidth()+yud.getDocumentScrollLeft();var N=F.bottom-F.top;var O=525;var L=(M-N)/2;var G=(Q-O)/2;yud.setStyle(E,"top",L);yud.setStyle(E,"left",G);if(F.bottom>(H[3]+A[1])){yud.setStyle(E,"top",(A[1]+H[3]-50-N)+"px")}offset=yud.getXY(E);if(offset[1]<A[1]){yud.setStyle(E,"top",(A[1]+10)+"px")}yud.setStyle("bg","height",yud.getDocumentHeight());yud.removeClass("bg","hide");yue.on("bg","click",closeShowMoreEP,J);yue.on(window,"keyup",closeShowMoreKU,J);var S=J.substring(5);yud.get("menu-save-"+S).focus();yue.on(document,"keypress",submitShowMore,S)}var _submitMenu=new yut.CustomEvent("submitMenu");function displayUserAdd(E,K,H,G,B){var F=[];F.push('<div class="hd">');if(E){F.push('<div class="thumb_large"><img width="64" height="64" src="'+E+'"/>')}else{F.push('<div class="thumb_large_head">')}if(B){F.push('<div class="fb"></div>')}F.push("</div>");F.push('<div class="user-attrs">');F.push('<div class="name">'+K+"</div>");F.push('<div class="recs">'+H+" recs</div>");F.push("</div></div>");F.push('<div class="bd" id="user-pro-bd">');var J=K.split(" ");J=J[0];if(!G){F.push("You must be a friend of "+J+" before you can see their profile.")}F.push("</div>");F.push('<div class="ft" id="user-pro-ft">');if(G){F.push('<div class="cta-btn"><input type="submit" value="OK" name="ok" id="gb-user-cancel"/></div>')}else{F.push('<div class="cta-btn gray"><input type="submit" value="Cancel" name="cancel" id="gb-user-cancel"/></div>');F.push('<div id="cta-add-friend" class="cta-btn"><input type="submit" value="Add To friends" name="add" id="gb-user-add"/></div>')}F.push("</div>");var D=yud.get("gb-user-pro");if(!D){D=document.createElement("div");D.id="gb-user-pro";D.className="user addGB";yud.get("doc3").appendChild(D)}D.innerHTML=F.join("");var I=(yud.getClientHeight()-180)/2+yud.getDocumentScrollTop();var A=(yud.getClientWidth()-374)/2+yud.getDocumentScrollLeft();yud.setStyle(D,"top",I);yud.setStyle(D,"left",A);var C=yud.get("gb-user");yud.removeClass(C,"hide");yud.setStyle("gb-user","height",yud.getDocumentHeight());if(YAHOO.env.ua.ie==6){yud.setStyle("ie-frame-gb-user","height",yud.getDocumentHeight())}}function showAddUser(B,C){if(!Y.Goodrec.Register.check()){return }var A=function(E){displayUserAdd(E.pic,E.display_name,E.rec_count,0,E.fb);if(C==2){yud.get("user-pro-bd").innerHTML="You are currently a fan of "+E.display_name+" and cannot see their profile until they confirm you as a friend.";n=yud.get("cta-add-friend");n.parentNode.removeChild(n)}var D=E.display_name.split(" ");D=D[0];yue.on("gb-user","click",closeGbUser);yue.on(window,"keyup",closeGbUserKU);yue.on(document,"keypress",handleGbUserKP,[E.user_id,D]);yue.on("gb-user-cancel","click",closeGbUser);yue.on("gb-user-add","click",handleGBAddUser,[E.user_id,D])};jQuery.ajax({type:"POST",url:"/network/user/"+B+"/",dataType:"json",success:A,timeout:15000})}function showAddUserDone(I,H,M,J,K,A,C){M=unescape(M);if(!Y.Goodrec.Register.check()){return }function F(){if(A){window.location.reload()}else{closeGbUser()}}var N={success:function(P){displayUserAdd(H,M,J,1,C);if(yud.get("user-pro-bd")){if(K==1){var O=M.split(" ");O=O[0];yud.get("user-pro-bd").innerHTML="You have confirmed "+M+" as a friend. "+O+" has been added to your friends list."}else{yud.get("user-pro-bd").innerHTML="A friend request has been sent, you will be a fan of "+M+" until they confirm you as a friend."}}yue.on("gb-user","click",F);yue.on(window,"keyup",F);yue.on("gb-user-cancel","click",F);yue.on(document,"keypress",function(Q){if(yue.getCharCode(Q)==13){F()}});gBFriendRequestDone()},failure:function(){displayUserAdd(H,M,J,1,C);if(yud.get("user-pro-bd")){yud.get("user-pro-bd").innerHTML="Oops! Could not add friend."}yue.on("gb-user","click",F);yue.on(window,"keyup",F);yue.on("gb-user-cancel","click",F);yue.on(document,"keypress",function(O){if(yue.getCharCode(O)==13){F()}});gBFriendRequestDone()}};var E=document.createElement("div");E.id="gb-user-pro";E.className="user addGB";E.innerHTML="<div class='loading_add'><p class='saving'>Loading...</p></div>";yud.get("doc3").appendChild(E);var L=(yud.getClientHeight()-180)/2+yud.getDocumentScrollTop();var B=(yud.getClientWidth()-374)/2+yud.getDocumentScrollLeft();yud.setStyle(E,"top",L);yud.setStyle(E,"left",B);var D=yud.get("gb-user");yud.removeClass(D,"hide");yud.setStyle("gb-user","height",yud.getDocumentHeight());if(YAHOO.env.ua.ie==6){yud.setStyle("ie-frame-gb-user","height",yud.getDocumentHeight())}var G=YAHOO.util.Connect.asyncRequest("GET","/network/add_friend/"+I+"/",N)}function closeGbUserKU(A){if(yue.getCharCode(A)==27){closeGbUser(A)}}function handleGbUserKP(B,A){if(yue.getCharCode(B)==13){if(yud.hasClass("gb-user-add","hide")){closeGbUser(B)}else{handleGBAddUser(B,A)}}}function gBFriendRequestDone(){if(yud.get("gb-user-add")){var B=yud.get("gb-user-add");yue.removeListener("gb-user-add","click",handleGBAddUser);yud.addClass(B,"hide")}if(yud.get("gb-user-cancel")){var A=yud.get("gb-user-cancel").parentNode;yud.get("gb-user-cancel").value="OK";yud.removeClass(A,"gray")}}function handleGBAddUser(C,A){var D={success:function(E){if(yud.get("user-pro-bd")){yud.get("user-pro-bd").innerHTML="A friend request has been sent, you will be a fan of "+A[1]+" until they confirm you as a friend."}gBFriendRequestDone()},failure:function(){if(yud.get("user-pro-bd")){yud.get("user-pro-bd").innerHTML="Oops! Could not add friend."}gBFriendRequestDone()}};var B=YAHOO.util.Connect.asyncRequest("GET","/network/add_friend/"+A[0]+"/",D)}function closeGbUser(B){yud.addClass("gb-user","hide");yue.removeListener("gb-user","click",closeGbUser);var A=yud.get("gb-user-pro");A.parentNode.removeChild(A);yue.removeListener(window,"keyup",closeGbUserKU);yue.removeListener("gb-user-cancel","click",closeGbUser);yue.removeListener(document,"keypress",handleGbUserKP);if(yud.get("gb-user-add")){yue.removeListener("gb-user-add","click",handleGBAddUser)}if(B){yue.preventDefault(B)}}function handleGbRemoveKP(B,A){if(yue.getCharCode(B)==13){handleGBRemoveUser(B,A)}}function handleGBRemoveUser(A,B){jQuery.getJSON("/network/remove_friend/"+B+"/",function(E){jQuery("#friend_"+B).remove();if(yud.get("count-showing")){var D=parseInt(yud.get("count-showing").innerHTML);if(D>1){yud.get("count-showing").innerHTML=D-1}else{yud.get("count-showing").parentNode.innerHTML=""}}if(yud.get("count-total")){var C=parseInt(yud.get("count-total").innerHTML);if(C>1){yud.get("count-total").innerHTML=C-1}if(yud.get("see-all-friends")){yud.get("see-all-friends").innerHTML="(see all "+String(C-1)+")"}if(yud.get("see-all-ft")){yud.get("see-all-ft").innerHTML="See all "+String(C-1)}}yue.removeListener(document,"keypress",handleGbRemoveKP);yue.removeListener("gb-user-remove","click",handleGBRemoveUser)});closeGbUser(A)}function removeFriend(B,I,A,K,C,E){var J=[];J.push('<div class="hd">');if(I){J.push('<div class="thumb_large"><img width="64" height="64" src="'+I+'"/>')}else{J.push('<div class="thumb_large_head">')}if(E){J.push('<div class="fb"></div>')}J.push("</div>");J.push('<div class="user-attrs">');J.push('<div class="name">'+A+"</div>");J.push('<div class="recs">'+K+" recs</div>");J.push("</div></div>");J.push('<div class="bd" id="user-pro-bd">');var M=A.split(" ");M=M[0];if(C==1){J.push('<p>Are you sure you want to block <span class="remove-name">'+M+"</span> from being a fan?</p>");J.push('<span class="msg">This action cannot be undone.</span>');J.push('<span class="msg">'+A+" will not be notified of this action.</span>")}else{if(C==2){J.push('<p>Are you sure no longer want to be a fan of <span class="remove-name">'+M+"</span>?</p>");J.push('<span class="msg">'+A+" will not be notified of this action.</span>")}else{J.push('<p>Are you sure you want to remove <span class="remove-name">'+M+"</span> from your friends?</p>");J.push('<span class="msg">If you remove '+A+" as a friend they will continue to be your fan.</span>");J.push('<span class="msg">'+A+" will not be notified of this action.</span>")}}J.push("</div>");J.push('<div class="ft" id="user-pro-ft">');J.push('<div class="cta-btn gray"><input type="submit" value="Cancel" name="cancel" id="gb-user-cancel"/></div>');if(C==1){J.push('<div id="cta-remove-friend" class="cta-btn red"><input type="submit" value="Block '+A+'" name="remove" id="gb-user-remove"/></div>')}else{J.push('<div id="cta-remove-friend" class="cta-btn red"><input type="submit" value="Remove '+A+'" name="remove" id="gb-user-remove"/></div>')}J.push("</div>");var G=document.createElement("div");G.id="gb-user-pro";G.className="user";G.innerHTML=J.join("");yud.get("doc3").appendChild(G);var N=yud.getClientHeight()+yud.getDocumentScrollTop();var H=yud.getClientWidth()+yud.getDocumentScrollLeft();var L=(N-180)/2;var D=(H-374)/2;yud.setStyle(G,"top",L);yud.setStyle(G,"left",D);var F=yud.get("gb-user");yud.removeClass(F,"hide");yud.setStyle("gb-user","height",yud.getDocumentHeight());if(YAHOO.env.ua.ie==6){yud.setStyle("ie-frame-gb-user","height",yud.getDocumentHeight())}yue.on("gb-user","click",closeGbUser);yue.on(window,"keyup",closeGbUserKU);yue.on(document,"keypress",handleGbRemoveKP,B);yue.on("gb-user-cancel","click",closeGbUser);yue.on("gb-user-remove","click",handleGBRemoveUser,B)}function openTableReserve(B,D,H,L,F,G,E){if(!D||!H||!L||!F||!G||!E){return true}var K=new Date();var J="AM";if(F>12){F-=12;J="PM"}var I=parseInt(K.getFullYear(),10);if(parseInt(H,10)<parseInt(K.getMonth(),10)){I++}var C=B.slice(B.indexOf("rid=")+4);var A="http://export.opentable.com/opentables.aspx?refid=5449&t=Single&rid="+C+"&f=&q=&m="+E+"&p="+D+"&d="+H+"%2f"+L+"%2f"+I+"+"+F+"%3a"+G+"%3a00+"+J;window.open(A);return false}function openTableReserveFromForm(D,H){var C=jQuery("#id_open_table_party").val();var G=jQuery("#id_open_table_month").val();var B=jQuery("#id_open_table_day").val();var F=jQuery("#id_open_table_start").val();var A=F.slice(0,F.indexOf(":"));var E=F.slice(F.indexOf(":")+1);return openTableReserve(D,C,G,B,A,E,H)}function showTab(D,A){var C,E=jQuery(D).get(0);for(var B=0;B<A.length;B+=2){C=jQuery(A[B]);if(C.get(0)==E){C.addClass("active");jQuery(A[B+1]).show()}else{C.removeClass("active");jQuery(A[B+1]).hide()}}return false}var _removeQuickTipEvent=new yut.CustomEvent("removeQuickTip");function removeQuickTip(){lastRecQT=null;lastQuickTip="";hideQuickTip()}function hideQuickTip(){var D=yud.get("qt");if(D){var C=D.parentNode;var A=D.getElementsByTagName("form");if(A){var E=A[0].id;E=parseInt(E.substring(12),10);var B=yud.get("entity_"+E);yud.removeClass(B,"up");yud.removeClass(B,"mid");yud.removeClass(B,"down");if(gEntityQuickTips[E]&&gEntityQuickTips[E].rating!==null){yud.addClass(B,gRatingMap[gEntityQuickTips[E].rating])}_removeQuickTipEvent.fire(E)}C.removeChild(D);gQuickTip=null}}function updateQuickTipCounter(B,A,C){if(B.length){C.innerHTML=String(A-B.length+" ")}else{C.innerHTML=A}if(B.length>(A-25)){yud.addClass(C,"error");yud.removeClass(C,"warning");if(A==1000){yud.setStyle(C,"visibility","visible")}}else{if(B.length>(A-50)){yud.removeClass(C,"error");yud.addClass(C,"warning");if(A==1000){yud.setStyle(C,"visibility","visible")}}else{if(A==1000){yud.setStyle(C,"visibility","hidden")}yud.removeClass(C,"error");yud.removeClass(C,"warning")}}}function clearQuickTip(F){if(gQuickTip===null){return }if(yud.getDocumentWidth()<yue.getPageX(F)){return }var B=parseInt(yud.getStyle(gQuickTip,"height"),10);if(!B){B=gQuickTip.offsetHeight}var D=parseInt(yud.getStyle(gQuickTip,"width"),10);if(!D){D=gQuickTip.offsetWidth}if(yud.getX(gQuickTip)<yue.getPageX(F)&&(yud.getX(gQuickTip)+D)>yue.getPageX(F)&&yud.getY(gQuickTip)<yue.getPageY(F)&&(yud.getY(gQuickTip)+B)>yue.getPageY(F)){return }if(F.relatedTarget==gQuickTip){return }var E=yue.getTarget(F);if(E.className=="goodIcon"||E.className=="mixedbagIcon"||E.className=="badIcon"){if(yud.get("id_quick_tip_textarea")){var C=gQuickTip.parentNode;var A=gQuickTip.getElementsByTagName("form");if(A){var G=A[0].id;G=parseInt(G.substring(12),10);lastQuickTip=yud.get("id_quick_tip_textarea").value;lastRecQT=G}}}else{lastQuickTip="";lastRecQT=null}hideQuickTip()}var lastQuickTip="";var lastRecQT=null;var dummy=null;var _qtAutoExpandEvent=new yut.CustomEvent("qtAutoExpand");function checkAutoExpandIE(A,F){if(!dummy){dummy=jQuery("<div></div>");var D=A.width();dummy.css({"font-size":A.css("font-size"),"font-family":A.css("font-family"),width:""+D+"px",padding:A.css("padding"),"line-height":A.css("line-height"),"overflow-x":"hidden",display:"none",position:"absolute",top:0,left:"-9999px","background-color":"#FFFFAA",border:"2px"}).appendTo("body")}var B=A.val().replace(/\n/g,"<br>new");if((dummy.html()!=B)||F){dummy.html(B+"W");newHeight=dummy.height()+(A.line_height*3);if(A.height()!=newHeight&&newHeight<176){height=String(newHeight)+"px";A.css("height",height);var C=yud.get("qt");if(!C){C=yud.get("gt")}var G=yud.getRegion(C);var E=G.bottom-G.top-15;yud.setStyle("qt-shadow","height",E+"px");_qtAutoExpandEvent.fire(height)}if(newHeight>160){A.css("overflow-y","scroll")}else{A.css("overflow-y","hidden")}}}function checkAutoExpand(A,D){if(!dummy){dummy=jQuery("<div></div>");dummy.css({"font-size":A.css("font-size"),"font-family":A.css("font-family"),width:A.width()+"px",padding:A.css("padding"),"line-height":A.css("line-height"),"overflow-x":"hidden",display:"none",position:"absolute",top:0,left:"-9999px"}).appendTo("body")}var B=A.val().replace(/\n/g,"<br>new");if((dummy.html()!=B)||D){dummy.html(B);newHeight=dummy.height()+A.line_height;if(newHeight<A.min_height){newHeight=A.min_height}if(A.height()!=newHeight&&newHeight<176){height=String(newHeight)+"px";A.css("height",height);var E=yud.getRegion("qt-bd");var C=E.bottom-E.top+6;yud.setStyle("qt-shadow","height",C+"px");_qtAutoExpandEvent.fire(height)}if(newHeight>160){A.css("overflow-y","scroll")}else{A.css("overflow-y","hidden")}}}function postQuickTipKeypress(A,B){var C=A.value;updateQuickTipCounter(C,160,yud.get("qt-msg"))}function imposeMaxLength(B,A,C){if(C<32||C==38||C==40||C==37||C==39){return true}return(B.value.length<A)}function setAutoExpand(A){A.css({overflow:"hidden",display:"block"});A.line_height=parseInt(A.css("line-height"),10);A.min_height=parseInt(A.css("min-height"),10);if(jQuery.browser.msie){checkAutoExpandIE(A,true);A.interval=window.setInterval(function(){checkAutoExpandIE(A,false)},500)}else{checkAutoExpand(A,true);A.interval=window.setInterval(function(){checkAutoExpand(A,false)},500)}}function showQuickTip2(C,B,D){if(!Y.Goodrec.Register.check()){return }hideQuickTip();var A=document.createElement("div");A.id="qt";A.className="quick-tip";var G="";if(gEntityQuickTips&&gEntityQuickTips[B]&&gEntityQuickTips[B].qt){G=gEntityQuickTips[B].qt}if(lastQuickTip&&lastRecQT==B){G=lastQuickTip}var F=[];var H=yud.getXY(C);if(H[0]-145<0){F.push('<div class="qt-tip" style="left:'+(H[0]+10)+'px;"></div>')}else{F.push('<div class="qt-tip"></div>')}F.push('<div class="bd" id="qt-bd">');if(gEntityQuickTips&&gEntityQuickTips[B]&&gEntityQuickTips[B].rating!==undefined&&gEntityQuickTips[B].rating!=-1){F.push('<span class="del-span"><a class="delete" href="#" onclick ="deleteRec('+B+'); return false;">Delete</a></span>')}F.push('<form method="post" action="/entity/rec/'+B+'/" id="rate_entity_'+B+'" onkeypress="return quickTipKeyPress(event, '+B+' );" onsubmit="return false;"><label>Quick Tip:</label><input type="hidden" name="rating" value="'+D+'"><textarea id="id_quick_tip_textarea" name="quick_tip" class="quick_tip_auto_expanding" maxlength="160" onkeyup="postQuickTipKeypress(this, event);" >'+G+'</textarea><div class="ft"><div class="cta-btn" id="cta-qt-save"><input id="qt-save" type="submit" name="save" value="Save" onclick="recEntity('+B+'); return false;"/></div><div class="cta-btn gray"><input id="qt-cancel" type="submit" name="cancel" value="Cancel" onclick="removeQuickTip(); return false;"/></div></div><br class="clr"/></form><span id="qt-msg" >160</span></div><div id="qt-shadow" class="shadow"></div>');A.innerHTML=F.join("");document.body.appendChild(A);if(H[0]-145<0){A.style.left="0px"}else{A.style.left=(H[0]-145)+"px"}A.style.top=(H[1]+30)+"px";updateQuickTipCounter(G,160,yud.get("qt-msg"));gQuickTip=A;if(gTrackPage=="index"){if(yud.getAncestorByClassName(C,"recIcon")){var E=yud.getAncestorByClassName(C,"recIcon").parentNode;yud.removeClass(E,"up");yud.removeClass(E,"mid");yud.removeClass(E,"down");yud.addClass(E,gRatingMap[D])}}else{var I=jQuery("#entity_"+B);I.removeClass("up mid down");I.addClass(gRatingMap[D]);_entityRecTriggerEvent.fire(B,D)}setAutoExpand(jQuery("#id_quick_tip_textarea"));document.getElementById("id_quick_tip_textarea").focus()}var _entityRecTriggerEvent=new yut.CustomEvent("entityRecTrigger");function deleteRec(A){showSaving();var C={success:function(D){response=D.responseText;gEntityQuickTips[A]={};_entityDeleteEvent.fire(A);findAndUpdateEntityHtml(_entitiesData,A,-1,"");findAndUpdateEntityHtml(_entitiesSearchData,A,-1,"");showSaved()}};var B=YAHOO.util.Connect.asyncRequest("POST","/delete_rec/"+A+"/json/",C)}function createEntityListingDetailed(C,B){gEntityQuickTips[C.id]={};if(C.my_rec.exists==1){gEntityQuickTips[C.id].qt=C.my_rec.quick_tip;gEntityQuickTips[C.id].rating=C.my_rec.rating}else{gEntityQuickTips[C.id].qt="";gEntityQuickTips[C.id].rating=null}var E=[];E.push('<div class="top">');E.push('<div class="l">');E.push('<div class="listing-ttl">');E.push('<div class="listing-ttl-cont">');E.push('<h3><a href="/'+C.url+'/">'+C.label+"</a></h3>");E.push('<div class="listing-wl">');E.push('<a class="listing-wl-icon" id="listing-wl-icon-'+C.id+'" onclick="to_request('+C.id+'); return false;" href="#"></a>');E.push('<a class="listing-wl-tt" id="listing-wl-tt-'+C.id+'" onclick="to_request('+C.id+'); return false;" href="#">');if(C.my_to.exists){E.push(gWishlistActions.remove[B])}else{E.push(gWishlistActions.add[B])}E.push("</a></div></div></div>");E.push('<div class="clear"></div>');if(C.tag_sets){E.push('<div class="tags">');for(i=0;i<C.tag_sets.length;i++){if((C.tag_sets.length>1)&&(i==parseInt((C.tag_sets.length+1)/2,10))){E.push('</div><div class="tags">')}var A=C.tag_sets[i];if(A.tag_set=="Good Vintages"){continue}E.push("<p>"+A.tag_set+": ");for(j=0;j<A.tags.length;j++){if(j==A.tags.length-1){E.push(A.tags[j])}else{E.push(A.tags[j]+", ")}}E.push("</p>")}E.push("</div>")}E.push('<div class="bottom">');E.push('<ul class="list-qts">');for(i=0;i<C.recs.length;i++){if(C.recs[i].is_branded){if(C.recs[i].is_branded&&C.recs[i].quick_tip==""){continue}E.push('<li><div class="smallicon smallicon_grey"></div>')}else{E.push('<li><div class="smallicon smallicon_'+gRatingMap[C.recs[i].rating]+'"></div>')}E.push('<p class="listing-qt">');switch(C.recs[i].platform){case 1:E.push('<img title="Rec\'d from a mobile phone. Visit m.goodrec.com from your mobile." src="/site_media/img/mobile_rec.gif" /> ');break;case 2:E.push('<img title="Rec\'d from an iPhone. Visit m.goodrec.com from your mobile." src="/site_media/img/iphone_rec.gif" /> ');break}E.push(C.recs[i].quick_tip);if(C.recs[i].has_details){var D=C.recs[i].display_name.split(" ");D=D[0];E.push(' <a href="/recs/'+C.recs[i].rec_id+'/review/" title="More from '+D+'">[more...]</a>')}if(!C.recs[i].is_branded){if(!C.recs[i]["private"]){E.push(' - <a href="/users/'+C.recs[i].user.url+'/">'+C.recs[i].display_name+"</a>")}else{E.push(' - <a href="#" onclick="showAddUser('+C.recs[i].user.id+", "+C.recs[i].user.friendType+'); return false;">'+C.recs[i].display_name+"</a>")}}else{if(C.recs[i].is_branded&&C.recs[i].url){E.push(' - <a href="'+C.recs[i].url+'" target="_blank">'+C.recs[i].display_name+"</a>")}}E.push("</p></li>")}E.push("</div>");E.push("</div>");E.push('<div class="r">');tot=(C.scores[0]+C.scores[1]+C.scores[2]);width=100;if(tot>0){down_w=parseInt((width*C.scores[2])/tot,10);mid_w=parseInt((width*C.scores[1])/tot,10);E.push('<div id="rateBar" class="entityListingDetailedRateBar"><ul>');if(C.scores[0]>0){E.push('<li style="width: '+(width-down_w-mid_w)+'%;">'+C.scores[0]+"</li>")}if(mid_w>0){E.push('<li class="yellow" style="width: '+mid_w+'%;">'+C.scores[1]+"</li>")}if(down_w>0){E.push('<li class="red" style="width: '+down_w+'%;">'+C.scores[2]+"</li>")}E.push("</ul></div>")}E.push('<ul class="recIcon"><li><a class="goodIcon" href="#" onclick="showQuickTip2(this, '+C.id+', 2); return false;" title="I recommend it"></a></li><li><a class="mixedbagIcon" href="#" onclick="showQuickTip2(this, '+C.id+', 1); return false;" title="It\'s a mixed bag"></a></li><li><a class="badIcon" href="#" onclick="showQuickTip2(this, '+C.id+', 0); return false;" title="I don\'t recommend it"></a></li></ul>');E.push('<span class="add-tagline">');if(!C.my_rec.exists||!_login){E.push("Click a button to rec!")}else{E.push('<a href="/recs/'+C.my_rec.rec_id+'/review/">Add photos, full review</a>')}E.push("</span>");E.push("</div>");E.push("</div>");return E.join("")}function createQuickTipList(B,A){var D=[];D.push('<ul class="list-qts">');for(i=0;i<B.recs.length;i++){if(B.recs[i].is_branded){if(B.recs[i].is_branded&&B.recs[i].quick_tip==""){continue}D.push('<li><div class="smallicon smallicon_grey"></div>')}else{D.push('<li><div class="smallicon smallicon_'+gRatingMap[B.recs[i].rating]+'"></div>')}D.push('<p class="listing-qt">');switch(B.recs[i].platform){case 1:D.push('<img title="Rec\'d from a mobile phone. Visit m.goodrec.com from your mobile." src="/site_media/img/mobile_rec.gif" /> ');break;case 2:D.push('<img title="Rec\'d from an iPhone. Visit m.goodrec.com from your mobile." src="/site_media/img/iphone_rec.gif" /> ');break}D.push(B.recs[i].quick_tip);if(B.recs[i].has_details){var C=B.recs[i].display_name.split(" ");C=C[0];D.push(' <a href="/recs/'+B.recs[i].rec_id+'/review/" title="More from '+C+'">[more...]</a>')}if(!B.recs[i].is_branded){if(!B.recs[i]["private"]){D.push(' - <a href="/users/'+B.recs[i].user.url+'/">'+B.recs[i].display_name+"</a>")}else{D.push(' - <a href="#" onclick="showAddUser('+B.recs[i].user.id+", "+B.recs[i].user.friendType+'); return false;">'+B.recs[i].display_name+"</a>")}}else{if(B.recs[i].is_branded&&B.recs[i].url){D.push(' - <a href="'+B.recs[i].url+'" target="_blank">'+B.recs[i].display_name+"</a>")}}D.push("</p></li>")}D.push("</ul>");return D.join("")}function createRateBar(D){content=[];tot=(D[0]+D[1]+D[2]);width=99;if(tot>0){var A=width*D[2]/tot;var C=width*D[1]/tot;var B=width-A-C;content.push('<div id="rateBar" class="entityListingDetailedRateBar"><ul>');if(D[0]>0){content.push('<li style="width: '+parseInt(B,10)+'%;">'+D[0]+"</li>")}if(C>0){content.push('<li class="yellow" style="width: '+parseInt(C,10)+'%;">'+D[1]+"</li>")}if(A>0){content.push('<li class="red" style="width: '+parseInt(A,10)+'%;">'+D[2]+"</li>")}content.push("</ul></div>")}return content.join("")}function createEntityLocListingDetailed(D,C){gEntityQuickTips[D.id]={};if(D.my_rec.exists==1){gEntityQuickTips[D.id].qt=D.my_rec.quick_tip;gEntityQuickTips[D.id].rating=D.my_rec.rating}else{gEntityQuickTips[D.id]="";gEntityQuickTips[D.id].rating=null}var E=[];E.push('<div class="top">');E.push('<div class="l">');E.push('<div class="listing-ttl">');E.push('<div class="listing-ttl-cont">');E.push('<h3><a href="/'+D.url+'/">'+D.label+"</a></h3>");E.push('<div class="listing-wl">');E.push('<a class="listing-wl-icon" id="listing-wl-icon-'+D.id+'" onclick="to_request('+D.id+'); return false;" href="#"></a>');E.push('<a class="listing-wl-tt" id="listing-wl-tt-'+D.id+'" onclick="to_request('+D.id+'); return false;" href="#">');if(D.my_to.exists){E.push(gWishlistActions.remove[C])}else{E.push(gWishlistActions.add[C])}E.push("</a></div></div></div>");E.push('<div class="clear"></div>');if(D.addr1||D.phone){E.push('<div class="addr">');if(D.addr){E.push("<p>"+D.addr1+"</p>")}if(D.city){E.push("<p>"+D.city+"</p>")}if(D.phone){E.push("<p>"+D.phone+"</p>")}E.push("</div>")}if(D.tag_sets){E.push('<div class="tags">');for(i=0;i<D.tag_sets.length;i++){var A=D.tag_sets[i];if(A.tag_set=="Features"||A.tag_set=="Music Genres"){continue}E.push("<p>"+A.tag_set+": ");for(j=0;j<A.tags.length&&j<3;j++){var B="";if(j==A.tags.length-1||j==2){B+=A.tags[j]}else{B+=A.tags[j]+", "}E.push(B)}E.push("</p>")}if(D.res){E.push('<a class="reserve" href="'+D.res.url+'" target="_blank" onclick="return openTableReserveFromForm(\''+D.res.url+"', "+D.res.market+')">Reserve</a>')}E.push("</div>")}if(C==12||C==15){E.push('<div class="bottom">');E.push(createQuickTipList(D,C));E.push("</div>")}E.push("</div>");E.push('<div class="r">');E.push(createRateBar(D.scores));E.push('<ul class="recIcon"><li><a class="goodIcon" href="#" onclick="showQuickTip2(this, '+D.id+', 2); return false;" title="I recommend it"></a></li><li><a class="mixedbagIcon" href="#" onclick="showQuickTip2(this, '+D.id+', 1); return false;" title="It\'s a mixed bag"></a></li><li><a class="badIcon" href="#" onclick="showQuickTip2(this, '+D.id+', 0); return false;" title="I don\'t recommend it"></a></li></ul>');E.push('<span class="add-tagline">');if(!D.my_rec.exists||!_login){E.push("Click a button to rec!")}else{E.push('<a href="/recs/'+D.my_rec.rec_id+'/review/" rel="nofollow">Add photos, full review</a>')}E.push("</span>");E.push("</div>");E.push("</div>");if(C==1){E.push('<div class="bottom">');E.push(createQuickTipList(D,C));E.push("</div>")}return E.join("")}function findAndUpdateEntityHtml(F,A,E,J,G){if(F){var H=null;if(F.entities){H=F.entities}else{if(F.markers){H=F.markers}else{return false}}for(var D=0;D<H.length;D++){if(H[D].id==A){var I=H[D].recs;if(E!=-1&&H[D].my_rec.exists){H[D].scores[2-H[D].my_rec.rating]--;H[D].scores[2-E]++}else{if(E==-1&&H[D].my_rec.exists&&H[D].my_rec.rating!==null){H[D].scores[2-H[D].my_rec.rating]--}}for(var C=0;C<I.length;C++){if((I[C].user_id==_userId)||(I[C].user.id==_userId)){if(E==-1){I.splice(C,1)}else{I[C].rating=E;I[C].rate_class=gRatingMap[E];I[C].quick_tip=J;I[C].platform=0;break}}}if(C==I.length&&E!=-1&&!H[D].my_rec.exists){var B={};B.display_name=_userName;B.user_id=_userId;B.user={};B.user.id=_userId;B.user.url=_userUrl;B.rating=E;B.rate_class=gRatingMap[E];B.quick_tip=J;B.platform=0;I.splice(0,0,B);H[D].scores[2-E]++}if(E!=-1){H[D].my_rec.exists=1;H[D].my_rec.rating=E;H[D].my_rec.quick_tip=J;H[D].my_rec.platform=0;H[D].my_rec.rec_id=G}else{H[D].my_rec.exists=0;H[D].my_rec.rating=null;H[D].my_rec.quick_tip="";H[D].my_rec.platform=0;H[D].my_rec.rec_id=-1}if(F.catid==1||F.catid==12){jQuery("#entity_"+A).html(createEntityLocListingDetailed(H[D],F.catid));if(gTrackPage=="browse_list"||gTrackPage=="browse_map"){_gListHtml=yud.get("listContainer").innerHTML}}else{jQuery("#entity_"+A).html(createEntityListingDetailed(H[D],F.catid))}}}}}function removeToolTip(){var C=yud.get("qt-bd");if(C){var B=YAHOO.util.Dom.get("tooltipid");B.style.visibility="hidden";var A=C.parentNode;A.removeChild(C);gQuickTip=null}}function showSaved(){var A=yud.get("qt-msg");if(A){A.innerHTML='<span class="saved">Saved!</span>';if(yud.get("map")&&Y.Goodrec.Browse.getMapVisible()){setTimeout(function(){removeToolTip()},600)}else{setTimeout(function(){removeQuickTip()},1)}}}function showSaving(){var A=YAHOO.util.Dom.get("qt-msg");yud.removeClass(A,"error");yud.removeClass(A,"warning");A.innerHTML='<span class="saving">Saving...</span>'}function showLoading(A,C){var D=yud.getRegion(C);var B=D.bottom-D.top;if(B<500){B=500;yud.setStyle(C,"height",B+"px")}yud.setStyle(A,"height",B+"px");yud.setStyle(A,"display","block")}function removeLoading(A){yud.setStyle(A,"display","none")}function getTracking(A){var G="";if(!gTrackPage){gTrackPage=""}else{var E=-1;switch(gTrackPage){case"index":case"browse_list":case"friends":case"add":var F=yud.get("entity_"+A);if(F){var B=F.parentNode;var D=B.childNodes;var C=0;for(child in D){if(D[child].id){C++;if(D[child].id==F.id){E=C;break}}}}break;default:}G="&src="+gTrackPage+"&src_idx="+E}return G}var _entityRecEvent=new yut.CustomEvent("entityRec");var _entityDeleteEvent=new yut.CustomEvent("entityDelete");var ratingChangeEvent=new yut.CustomEvent("ratingChange");function recEntity(entity_id){var frm=yud.get("rate_entity_"+entity_id);var tracking=getTracking(entity_id);lastQuickTip="";var qt=frm.quick_tip.value;if(qt.length>160){qt=qt.substring(0,160)}var params="rating="+frm.rating.value+"&quick_tip="+encodeURIComponent(qt)+"&save=save"+tracking;showSaving();var callback={success:function(transport){response=transport.responseText;var jsonObj=eval("("+response+")");var e_node=jQuery("#entity_"+entity_id);if(YAHOO.util.Dom.get("map")){if(Y.Goodrec.Browse.getMapVisible()){e_node=jQuery("#hov_entity_"+entity_id)}if(_entitiesHash){if(_entitiesHash[entity_id]){if(_entitiesHash[entity_id].my_rec){_entitiesHash[entity_id].my_rec.rating=jsonObj.rating}else{_entitiesHash[entity_id].my_rec=[];_entitiesHash[entity_id].my_rec.rating=jsonObj.rating}}}}e_node.removeClass("up mid down_w");e_node.addClass(gRatingMap[jsonObj.rating]);if(!gEntityQuickTips[entity_id]){gEntityQuickTips[entity_id]={}}gEntityQuickTips[entity_id].qt=jsonObj.quick_tip;gEntityQuickTips[entity_id].rating=jsonObj.rating;showSaved();findAndUpdateEntityHtml(_entitiesData,entity_id,jsonObj.rating,jsonObj.quick_tip,jsonObj.rec_id);findAndUpdateEntityHtml(_entitiesSearchData,entity_id,jsonObj.rating,jsonObj.quick_tip,jsonObj.rec_id);_entityRecEvent.fire(entity_id,jsonObj.rating,jsonObj.quick_tip,jsonObj.rec_id);ratingChangeEvent.fire(entity_id,jsonObj.rating,jsonObj.quick_tip,jsonObj.rec_id);if(jsonObj.new_badges.length){var badge=jsonObj.new_badges[0];Y.Goodrec.BadgeGB.show(badge)}}};var a_req=YAHOO.util.Connect.asyncRequest("POST","/entity/rec/"+entity_id+"/",callback,params)}function quickTipKeyPress(C,A){var B=null;if(!C){C=window.event}if(C.keyCode){B=C.keyCode}else{if(C.which){B=C.which}}if(B==13){recEntity(A);return false}if(B==27){removeQuickTip()}txt=yud.get("id_quick_tip_textarea");return imposeMaxLength(txt,160,B)}var _toEvent=new yut.CustomEvent("toEvent");function to_request(entity_id){if(!Y.Goodrec.Register.check()){return }var callback={success:function(transport){response=transport.responseText;var jsonObj=eval("("+response+")");var wl_listing=yud.get("entity_"+entity_id);var wl_link=yud.get("listing-wl-tt-"+entity_id);if(jsonObj.setting){if(wl_link){jQuery("#entity_"+entity_id).addClass("wl");wl_link.innerHTML=gWishlistActions.remove[jsonObj.catid]}else{jQuery("#entity_"+entity_id).addClass("to")}}else{if(wl_link){jQuery("#entity_"+entity_id).removeClass("wl");wl_link.innerHTML=gWishlistActions.add[jsonObj.catid]}else{jQuery("#entity_"+entity_id).removeClass("to")}}if(gTrackPage=="index"||gTrackPage=="entity"){_toEvent.fire(entity_id,jsonObj.setting,jsonObj.catid)}if(jQuery.browser.msie&&!jsonObj.setting){if(jQuery("#entity_"+entity_id+" #pinDiv").length>0){jQuery("#entity_"+entity_id+" #pinDiv").html('<a title="Remember it" href="#" class="pinIcon" onclick="to_request('+entity_id+'); return false;"><span /></a>')}else{var html='<a class="goodIcon" title="I recommended it" onclick="showQuickTip2(this, '+entity_id+', 2); return false;" href="#"></a><a class="mixedbagIcon" title="It\'s a mixed bag" onclick="showQuickTip2(this, '+entity_id+', 1); return false;" href="#"></a><a class="badIcon" title="I don\'t recommend it" onclick="showQuickTip2(this, '+entity_id+', 0); return false;" href="#"></a><a class="pinIcon" title="Remember it" onclick="to_request('+entity_id+'); return false;" href="#"></a>';jQuery("#entity_"+entity_id+" .recIcon").html(html)}}if(window._tooltipEntityId){if(entity_id==_tooltipEntityId){if(jsonObj.setting){jQuery("#hov_entity_"+entity_id).addClass("to")}else{jQuery("#hov_entity_"+entity_id).removeClass("to");if(jQuery.browser.msie){var content=jQuery("#hov_entity_"+entity_id).html();jQuery("#hov_entity_"+entity_id).html(content)}}}marker=_entitiesHash[entity_id];if(jsonObj.setting===true){marker.entity.my_to.exists=1;marker.setImage(gicon_urls.to)}else{marker.entity.my_to.exists=0;marker.setImage(gicon_urls[marker.entity.type])}}}};var a_req=YAHOO.util.Connect.asyncRequest("POST","/entity/to/toggle/json/"+entity_id+"/",callback)}function create_entity_header_class(A){var B=[];if(A.my_rec.exists==1){B.push(gRatingMap[A.my_rec.rating])}if(A.my_to.exists==1){B.push(" wl")}return B.join(" ")}var qtDefault="(click to add text)";function sendRating(A,D,B){var F=getTracking(A);var G={argument:[this],success:function(I){var H=I.argument[0];H.ratingChangeEvent.fire()}};var C="";if(D){C="rating="+D}var E=yut.Connect.asyncRequest("POST","/entity/rec/"+A+"/",G,C+"&json=1&quick_tip="+encodeURIComponent(B)+F)}function saveQuickTip(A,C,D){var E=jQuery(C+" > span");if(!D){var B=jQuery("#id_quick_tip_textarea").val();if(B!=qtDefault){sendRating(A,null,B)}else{if(B===""){B=qtDefault}}E.html(B)}E.show();jQuery(C).addClass("edit_in_place");jQuery(" .tip_edit").remove()}function trim(A){return A.replace(/^\s*/,"").replace(/\s*$/,"")}var handleShowHover=function(A){yud.addClass(this,"hover");yue.on(this,"mouseout",handleHideHover,this,true)};var handleHideHover=function(A){yud.removeClass(this,"hover");yue.removeListener(this,"mouseout",handleHideHover)};var addHoverToClass=function(C){var B=yud.getElementsByClassName(C);for(var A=0;A<B.length;A++){yue.on(B[A],"mouseover",handleShowHover,this,false)}};var removeHoverFromClass=function(A){yue.purgeElement(A)};Y.namespace("Goodrec.widget");YAHOO.Goodrec.widget.recentLocations=function(G,C,A,D,E){if(C&&G){this._trigger=C;this._cont=G;this._currRecentLoc=-1;this._prefix=A;this._inputBox=D;this.locationChangeEvent=new YAHOO.util.CustomEvent("locationChange",this);yue.on(C,"click",this.handleShowRecentLocList,this);var F=G.getElementsByTagName("a");for(var B=0;B<F.length;B++){yue.on(F[B],"click",this.handleRecentLocSelect,{oSelf:this,selected:B})}yue.on(document,"click",this.hideRecentLocList,this);yue.on(document,"keydown",this.handleLocKeyDown,this);yue.on(document,"keypress",this.handleLocKeyPress,this)}};YAHOO.Goodrec.widget.recentLocations.prototype.locationChangeEvent=null;YAHOO.Goodrec.widget.recentLocations.prototype.handleShowRecentLocList=function(C,B){if(!yud.hasClass(B._cont,"hide")){yud.addClass(B._cont,"hide");yue.removeListener(document,"keypress",B.handleLocKeyPress);yue.preventDefault(C);return }else{B._currRecentLoc=-1;var D=B._cont.getElementsByTagName("a");for(var A=0;A<D.length;A++){yud.removeClass(D[A].parentNode,"yui-ac-highlight")}yud.removeClass(B._cont,"hide")}yue.preventDefault(C)};YAHOO.Goodrec.widget.recentLocations.prototype.hideRecentLocList=function(C,B){var A=yue.getTarget(C);if(A!=B._trigger&&A!=B._cont&&!yud.isAncestor(B._cont,A)){yud.addClass(B._cont,"hide")}};YAHOO.Goodrec.widget.recentLocations.prototype.handleRecentLocSelect=function(B,C){var A=yud.get(C.oSelf._prefix+C.selected);C.oSelf.changeToRecLoc(A.innerHTML,C.oSelf);yue.preventDefault(B)};YAHOO.Goodrec.widget.recentLocations.prototype.handleLocKeyDown=function(E,C){if(yud.hasClass(C._cont,"hide")){return }var D=E.keyCode;var B=(navigator.userAgent.toLowerCase().indexOf("mac")!=-1);switch(D){case 38:case 40:yue.stopEvent(E);C.moveRecentLocSel(D,C);break;case 9:case 13:if(C._currRecentLoc>-1&&!B){yue.stopEvent(E);var A=yud.get(C._prefix+C._currRecentLoc);C.changeToRecLoc(A.innerHTML,C)}break;case 27:yud.addClass(C._cont,"hide");return }};YAHOO.Goodrec.widget.recentLocations.prototype.changeToRecLoc=function(C,B){if(C){C=C.replace("&amp;","&");B._inputBox.value=C;yud.addClass(B._cont,"hide");B.locationChangeEvent.fire(B,C);var D=B._cont.getElementsByTagName("a");for(var A=0;A<D.length;A++){yud.removeClass(D[A],"checked");if(D[A].innerHTML==C){yud.addClass(D[A],"checked")}}}};YAHOO.Goodrec.widget.recentLocations.prototype.moveRecentLocSel=function(E,D){var C=(E==40)?(D._currRecentLoc+1):(D._currRecentLoc-1);var F=D._cont.getElementsByTagName("a");if(F.length-1<C||C<0){return }D._currRecentLoc=C;var B=yud.get(D._prefix+D._currRecentLoc);for(var A=0;A<F.length;A++){yud.removeClass(F[A].parentNode,"yui-ac-highlight")}if(B){yud.addClass(B.parentNode,"yui-ac-highlight")}};YAHOO.Goodrec.widget.recentLocations.prototype.handleLocKeyPress=function(E,C){if(yud.hasClass(C._cont,"hide")){return }var D=E.keyCode;var B=(navigator.userAgent.toLowerCase().indexOf("mac")!=-1);if(B){switch(D){case 38:case 40:yue.stopEvent(E);break;case 9:case 13:if(C._currRecentLoc>-1){yue.stopEvent(E);var A=yud.get(C._prefix+C._currRecentLoc);C.changeToRecLoc(A.innerHTML,C)}break;return }}};Y.namespace("Goodrec.widget.menu");Y.Goodrec.widget.menu=function(A,B){if(A&&B){this._menu_tr=A;this._menu=B;yue.on(A,"mouseover",this.handleMenuMouseOver,this,true);yue.on(A,"mouseout",this.handleMenuMouseOut,this,true)}};Y.Goodrec.widget.menu.prototype.handleMenuMouseOver=function(B,A){yud.removeClass(A._menu,"hide");yue.purgeElement(A._menu);yue.on(A._menu,"mouseout",A.handleMenuMouseOut,A)};Y.Goodrec.widget.menu.prototype.handleMenuMouseOut=function(C,A){var B=yue.getRelatedTarget(C);if(B==A._menu||!yud.isAncestor(A._menu,B)){yud.addClass(A._menu,"hide");yue.removeListener(A._menu,"mouseout",A.handleMenuMouseOut)}};Y.namespace("Goodrec.eyebrow");Y.Goodrec.eyebrow=function(){var M=null,G=null,D=null,H=null;var I=function(Q){var N=yud.get("b-cat").value;if((N=="1")||(N=="12")||(N=="15")){yud.removeClass("search","noLoc")}else{yud.addClass("search","noLoc")}var P=yud.get("b-search");var O=yud.get("query-tip");if(O){switch(N){case"1":O.innerHTML="(e.g Joe's, Italian)";P.action="/browse/restaurants/";break;case"12":O.innerHTML="(e.g Joe's, Sports bar)";P.action="/browse/nightlife/";break;case"11":O.innerHTML="(e.g Mondavi, Pinot Noir)";P.action="/browse/wines/";break;case"4":O.innerHTML="(e.g Shrek, Western)";P.action="/browse/movies/";break;case"13":O.innerHTML="(e.g Harry Potter, Fiction)";P.action="/browse/books/";break;case"15":O.innerHTML="(e.g Four Seasons, Seaworld)";P.action="/browse/local/";break;case"16":O.innerHTML="(e.g iPhone, Honey Nut Cheerios)";P.action="/browse/products/";break}}M.scriptQueryAppend="cat="+N+"&loc="+yud.get("b-loc").value;M.flushCache()};var L=function(N){yud.get("b-search").submit()};var B=function(P){var O=yud.get("recent-locs-ac");if(O&&!yud.hasClass(O,"hide")){yud.addClass(O,"hide")}var N=yud.get("b-cat").value;var Q=yud.get("b-loc").value;M.scriptQueryAppend="cat="+N+"&loc="+Q;if(inputBox.value.length===0){window.setTimeout(function(){G.sendQuery(inputBox.value)},0)}};var F=function(N){if(this.value===""){yud.addClass(this,"dimText");this.value="Type a name"}};var E=function(O){var N=yud.get("b-query");if(yud.hasClass(N,"dimText")){yud.removeClass(N,"dimText");N.value=""}};var K=function(P){var O=P.keyCode;if(O==13){var N=yud.get("frm-submit");N.focus();J(P)}};var C=function(N){M.scriptQueryAppend="loc="+yud.get("b-loc").value;M.flushCache()};var J=function(O){var N=yud.get("b-query");if(N.value=="Type a name"&&yud.hasClass(N,"dimText")){N.value=""}N.form.focus();N.form.submit();return true};var A=function(O,N){yue.preventDefault(O)};return{handleLocationChange:function(N,O,Q){if(Q.value){var P=yud.get("b-loc");P.value=Q.value}},getLocationDataSource:function(){return D},init:function(R){var c=yud.get("b-query");if(c){var Z=["resultset.results","name"];M=new YAHOO.widget.DS_XHR("/entity/ac/",Z);G=new YAHOO.widget.AutoComplete(c,"b-query-ac",M);G.prehighlightClassName="yui-ac-prehighlight";G.useShadow=true;G.minQueryLength=2;G.maxResultsDisplayed=11;G.autoHighlight=false;G.typeAhead=false;G.textboxFocusEvent.subscribe(B,this,true);G.itemSelectEvent.subscribe(L,this,true);if(yud.hasClass(c,"dimText")){c.value="Type a name"}yue.on(c,"blur",F);yue.on(c,"click",E);yue.on(c,"focus",E)}var N=yud.get("b-loc");var Q=yud.get("recent-locs-dd");if(N){var Z=["resultset.results","name","id"];D=new YAHOO.widget.DS_XHR("/locationarea/ac/",Z);H=new YAHOO.widget.AutoComplete(N,"b-loc-ac",D);H.prehighlightClassName="yui-ac-prehighlight";H.useShadow=true;H.minQueryLength=2;H.maxResultsDisplayed=11;H.autoHighlight=false;H.typeAhead=false;var b=yud.get("recent-locs-ac");if(b&&Q){var T=new YAHOO.Goodrec.widget.recentLocations(b,Q,"rec-loc-",N)}}var f=yud.get("b-cat");if(f.value!=R){f.value=R}if(f){yue.on(f,"change",I)}var U=yud.get("b-search");if(U){yue.on(U,"submit",J)}var a=yud.get("browse-nav");var k=yud.get("browse-menu");if(a&&k){var d=new YAHOO.Goodrec.widget.menu(a,k);yue.on(a,"click",A,a,true)}var l=yud.get("network-nav");var e=yud.get("network-menu");if(l&&e){var h=new YAHOO.Goodrec.widget.menu(l,e)}var S=yud.get("groups-nav");var O=yud.get("groups-menu");if(S&&O){var V=new YAHOO.Goodrec.widget.menu(S,O)}var W=yud.get("ask-nav");var P=yud.get("request-menu");if(W&&P){var g=new YAHOO.Goodrec.widget.menu(W,P)}var X=yud.get("ulogin");if(X){YAHOO.Goodrec.Login.init()}}}}();Y.namespace("Goodrec.Wishlist");Y.Goodrec.Wishlist=function(){var D=function(F){yud.removeClass(this,"hover");yue.removeListener(this,"mouseout",D)};var B=function(F){yud.addClass(this,"hover");yue.on(this,"mouseout",D,this,true)};var E=function(F){yud.removeClass(this,"wl-hover");yue.removeListener(this,"mouseout",E)};var A=function(F){yud.addClass(this,"wl-hover");yue.addListener(this,"mouseout",E)};var C=function(F){yud.removeClass(this,"tt-hover");yue.removeListener(this,"mouseout",C)};return{addHandlingForWL:function(F){yue.on(F,"mouseover",B,this,false);var G=yud.getElementsByClassName("listing-wl","div",F);yue.on(G[0],"mouseover",A,G[0],true)}}}();Y.namespace("Goodrec.BadgeGB");Y.Goodrec.BadgeGB=function(){var A=function(D){yud.addClass("gb-user","hide");yue.removeListener("gb-user","click",A);var C=yud.get("badgeGB");C.parentNode.removeChild(C);yue.removeListener(window,"keyup",B);yue.removeListener("gb-badge-ok","click",A);yue.removeListener(document,"keydown",B);if(D){yue.preventDefault(D)}};var B=function(C){if(yue.getCharCode(C)==27||yue.getCharCode(C)==13){A(C)}};return{show:function(D){var F=document.createElement("div");F.id="badgeGB";var E=[];var C="";if(D.count>9999){C="five-digits"}else{if(D.count>999){C="four-digits"}else{if(D.count>99){C="three-digits"}else{if(D.count>9){C="two-digits"}}}}E.push("<div class='bd'><div class='b-"+D.id+"-"+D.level+" "+C+"'>");if(D.level>2){E.push("<span class='stroke-l'>"+D.count+"</span>");E.push("<span class='stroke-r'>"+D.count+"</span>");E.push("<span class='stroke-b'>"+D.count+"</span>");E.push("<span class='stroke-t'>"+D.count+"</span>")}E.push("<span class='count'>"+D.count+"</span>");E.push("</div><h2>Congratulations!</h2>");if(D.level<5){E.push("<span class='msg'>You've received a <em>"+D.level_name+"</em> badge for "+D.name+" on your profile page!<br /> You need "+D.count_to_next_level+" more recs to reach the next level!</span>")}else{E.push("<span class='msg'>You've received a <em>"+D.level_name+"</em> badge for "+D.name+"!  We're impressed. REALLY impressed.</span>")}E.push('</div><div class="ft"><div class="cta-btn"><input type="submit" id="gb-badge-ok" name="ok" value="OK"/></div>');F.innerHTML=E.join("");yud.get("doc3").appendChild(F);var I=(yud.getClientHeight()-120)/2+yud.getDocumentScrollTop();var H=(yud.getClientWidth()-360)/2+yud.getDocumentScrollLeft();yud.setStyle(F,"top",I);yud.setStyle(F,"left",H);var G=yud.get("gb-user");yud.removeClass(G,"hide");yud.setStyle("gb-user","height",yud.getDocumentHeight());if(YAHOO.env.ua.ie==6){yud.setStyle("ie-frame-gb-user","height",yud.getDocumentHeight())}yue.on("gb-user","click",A);yue.on(window,"keyup",B);yue.on(document,"keydown",B);yue.on("gb-badge-ok","click",A)}}}();Y.namespace("Goodrec.GreatTip");Y.Goodrec.GreatTip=function(){var F=null,B=null,H=null,D=null,E=null;var G=function(L){var K=yud.get("gt-txt");if(yud.hasClass(K,"dimText")){yud.removeClass(K,"dimText");K.value=""}};var I=function(){var K=yud.get("gt");if(K===null){return }var L=K.parentNode;L.removeChild(K)};var J=function(){var K=yud.get("gt-"+F);var P=0;var R=yud.getElementsByClassName("gt-count","span",K);if(R.length){P=parseInt(R[0].innerHTML)}if(B!=H){P=P+1}var M=document.createElement("span");M.className="great-tip";html=K.innerHTML;K.parentNode.replaceChild(M,K);M.innerHTML=html;var Q={argument:[this],success:function(T){html='<span class="rt"> Great Tip!';if(P){html+=' (<span class="gt-count">'+P+"</span>)"}html+="</span>";M.innerHTML=html}};var N=yud.get("gt-txt");if(yud.hasClass(N,"dimText")){N.value=""}var S=N.value;if(S.length>1000){S=S.substring(0,1000)}var L="message="+encodeURIComponent(S);var O=yut.Connect.asyncRequest("POST","/rec/"+F+"/great_tip/",Q,L);I()};var A=function(K){updateQuickTipCounter(this.value,1000,yud.get("qt-msg"))};var C=function(L){var K=null;if(L.keyCode){K=L.keyCode}if(K==27){removeQuickTip()}txt=yud.get("gt-txt");if(!imposeMaxLength(txt,1000,K)){yue.stopEvent(L)}};return{docKeyPress:function(N){var L=yud.get("gt");if(L===null){return }if(yud.getDocumentWidth()<yue.getPageX(N)){return }var K=parseInt(yud.getStyle(L,"height"),10);if(!K){K=L.offsetHeight}var M=parseInt(yud.getStyle(L,"width"),10);if(!M){M=L.offsetWidth}if(yud.getX(L)<yue.getPageX(N)&&(yud.getX(L)+M)>yue.getPageX(N)&&yud.getY(L)<yue.getPageY(N)&&(yud.getY(L)+K)>yue.getPageY(N)){return }if(N.relatedTarget==L){return }I()},show:function(L,K,U,N,S,P){if(!Y.Goodrec.Register.check()){return }F=L;B=K;H=U;D=N;E=S;var O="";var T=yud.getElementsByClassName("gt-count","span",S);if(T.length){O=parseInt(T[0].innerHTML)}var M=document.createElement("div");M.id="gt";M.className="quick-tip great-tip-box";var Q=[];Q.push('<div class="bd" id="gt-bd">');Q.push('<form method="post" id="gt-frm" action="/rec/'+L+'/great_tip/" onsubmit="return false;"><label class="great-tip">Great Tip! ');if(O){Q.push("("+O+")")}Q.push('</label><textarea name="message" id="gt-txt" maxlength="1000" class="dimText">Type a private message to '+P+' (optional)</textarea><div class="ft"><div class="cta-btn" id="cta-qt-save"><input id="gt-submit" type="submit" name="save" value="Submit"/></div><div class="cta-btn gray"><input id="gt-cancel" type="submit" name="cancel" value="Cancel"/></div></div><br class="clr"/></form><span id="qt-msg"></span></div><div id="qt-shadow" class="shadow"></div>');M.innerHTML=Q.join("");document.body.appendChild(M);var R=yud.getXY(S);yud.setXY(M,[R[0],R[1]-9]);yue.on("gt-frm","keypress",C);yue.on("gt-txt","keyup",A);yue.on("gt-cancel","click",I);yue.on("gt-submit","click",J);setAutoExpand(jQuery("#gt-txt"));yue.on("gt-txt","click",G);yue.on("gt-txt","focus",G)}}}();YAHOO.Goodrec.widget.peoplePicker=function(B,A){if(!Y.Goodrec.Register.check()){return }this._type=B;this._objId=A;this._peoplePickerGB=document.createElement("div");this._peoplePickerGB.id="peoplePickerGB";yud.get("doc3").appendChild(this._peoplePickerGB);var E=(yud.getClientHeight()-385)/2+yud.getDocumentScrollTop();var D=(yud.getClientWidth()-450)/2+yud.getDocumentScrollLeft();yud.setStyle(this._peoplePickerGB,"top",E);yud.setStyle(this._peoplePickerGB,"left",D);var C=yud.get("gb-user");yud.removeClass(C,"hide");yud.setStyle("gb-user","height",yud.getDocumentHeight());if(YAHOO.env.ua.ie==6){yud.setStyle("ie-frame-gb-user","height",yud.getDocumentHeight())}this._peoplePickerGB.innerHTML="<div class='bd'><iframe src='/widget/addressbook/?object_type="+this._type+"&object_id="+this._objId+"' frameborder='0'></iframe></div>"};var _peoplePickerClosed=new yut.CustomEvent("peoplePickerClosed");var closeGbPeoplePicker=function(){yud.addClass("gb-user","hide");var A=yud.get("peoplePickerGB");A.parentNode.removeChild(A);_peoplePickerClosed.fire()};Y.namespace("Goodrec.Register");Y.Goodrec.Register=function(){var D=null;var E=null;var B=function(H){var G=new YAHOO.util.Anim(E);G.duration=0.2;G.method=YAHOO.util.Easing.easeOut;G.onComplete.subscribe(function(){if(yud.hasClass("login_form","hide")){yud.removeClass("join_form","hide")}});var F=yud.get("changeForm");if(yud.hasClass("login_form","hide")){yud.addClass("join_form","hide");yud.removeClass("login_form","hide");yud.get("register-h1").innerHTML="<em>Sign</em> In";F.innerHTML="Not yet joined? Sign Up";yud.setStyle("fb-register-frm","display","none");yud.addClass(F.parentNode,"last");G.attributes.height={to:225};G.animate()}else{yud.addClass("login_form","hide");yud.get("register-h1").innerHTML="Create <em>Your</em> Goodrec Profile";F.innerHTML="Already joined? Log In";yud.setStyle("fb-register-frm","display","block");yud.removeClass(F.parentNode,"last");G.attributes.height={to:430};G.animate()}yue.preventDefault(H)};var C=function(F){yud.addClass("gb-user","hide");yue.removeListener("register-close","click",C);E.parentNode.removeChild(E);yue.preventDefault(F)};var A=function(){E=document.createElement("div");E.id="registerGB";yud.get("doc3").appendChild(E);var H=(yud.getClientHeight()-385)/2+yud.getDocumentScrollTop();var G=(yud.getClientWidth()-430)/2+yud.getDocumentScrollLeft();yud.setStyle(E,"top",H);yud.setStyle(E,"left",G);var F=yud.get("gb-user");yud.removeClass(F,"hide");yud.setStyle("gb-user","height",yud.getDocumentHeight());if(YAHOO.env.ua.ie==6){yud.setStyle("ie-frame-gb-user","height",yud.getDocumentHeight())}E.innerHTML=D;yue.on("changeForm","click",B);yue.on("register-close","click",C);$("#join_form input").blur(function(){form_field_validate("djangotest.goodrec.views.RegistrationForm",this,{init_request:1,init_prefix:"gb"});if(yud.get("doLogin")){yue.on("doLogin","click",B)}});$("#id_country").change(update_postal_code_label);yue.on("join_form","submit",function(I){form_submit_ajax("djangotest.goodrec.views.RegistrationForm",this,{init_request:1,init_prefix:"gb"},Y.Goodrec.Register.submit_join,Y.Goodrec.Register.submit_error);yue.preventDefault(I)});yue.on("login_form","submit",function(I){form_submit_ajax("djangotest.goodrec.forms.LoginForm",this,{init_request:1},Y.Goodrec.Register.submit_join,Y.Goodrec.Register.submit_error);yue.preventDefault(I)})};return{check:function(){if(!_login){if(D){A()}else{var G={argument:[this],success:function(J,I){var H=J.argument[0];D=J.responseText;A()}};var F=yut.Connect.asyncRequest("GET","/join_gb/",G)}return false}return true},submit_join:function(H){if(!H.success&&H.errors){for(i in H.errors){var I=yud.get("id_"+i+"_item");var F=null;if(I){yud.getElementsByClassName("error","div",I);if(F){F[0].innerHTML=H.errors[i]}}else{if(i=="__all__"){if(yud.hasClass("login_form","hide")){F=yud.get("join_error")}else{F=yud.get("login_error")}F.innerHTML=H.errors[i]}}if(yud.get("doLogin")){yue.on("doLogin","click",B)}}}else{if(H.success){if(window.location.search||gTrackPage=="join"){var G=window.location.search.split("=");if(G[1]&&G[0]=="?next"){window.location=G[1]}}window.location.reload()}}},submit_error:function(F){if(yud.hasClass("login_form","hide")){error=yud.get("join_error")}else{error=yud.get("login_error")}error.innerHTML="There was a problem. Please try again."}}}();Y.namespace("Goodrec.Login");Y.Goodrec.Login=function(){var A=null;var B=function(C){yud.addClass("gb-user","hide");yue.purgeElement("loginGB",true);A.parentNode.removeChild(A);yue.preventDefault(C)};return{show:function(G){A=document.createElement("div");A.id="loginGB";var C=yud.get("doc3");if(!C){C=yud.get("doc1")}C.appendChild(A);var F=yue.getPageY(G);yud.setStyle(A,"top",F);if(yud.get("doc3")){yud.setStyle(A,"left",(yue.getPageX(G)-380))}var E=yud.get("gb-user");yud.removeClass(E,"hide");yud.setStyle("gb-user","height",yud.getDocumentHeight());if(YAHOO.env.ua.ie==6){yud.setStyle("ie-frame-gb-user","height",yud.getDocumentHeight())}var D=[];D.push('<a id="loginClose">x</a><form class="" method="post" action="/404/" id="loginGBform">');D.push('<div class="form-item form-item-username" id="id_username_item"><label for="id_username">Email</label><div class="value">');D.push('<input type="text" maxlength="100" name="username" id="id_username"/><span id="login_error" class="error"></span></div></div>');D.push('<div class="form-item form-item-password" id="id_password_item"><label for="id_password">Password</label><div class="value">');D.push('<input type="password" maxlength="100" name="password" id="id_password"/><span class="error"></span></div>');D.push('<a href="/account/forgot/" class="forgot">Forgot password?</a></div><div class="f-r"><div class="cta-sm-glassy">');D.push('<input type="submit" id="frm-submit" value="Log In"/></div></div></form>');A.innerHTML=D.join("");yue.on("loginGBform","submit",function(H){form_submit_ajax("djangotest.goodrec.forms.LoginForm",this,{init_request:1},Y.Goodrec.Register.submit_join,Y.Goodrec.Register.submit_error);yue.preventDefault(H)});yue.on("loginClose","click",B);yud.get("id_username").focus();yue.preventDefault(G)},init:function(){yue.on("ulogin","click",this.show)}}}();function checkBrowser(A){if(!A){alert("Sorry, We do not currently support your browser.\n\nPlease try Goodrec in one of the following browsers - \n\nInternet Explorer 6.0 or Internet Explorer 7.0 \nFirefox 2.0 or greater \nSafari 3.0")}}function form_process_validation(B){object=jQuery("#"+B.id);object.find(".error").html("");object.find(".message").html("");if(B.valid!=true){for(var C in B.errors){errors=B.errors[C];if(errors.length>0){error_str="";for(var A in errors){error_str+="<li>"+errors[A]+"</li>"}$("#id_"+C+"_item .error").html('<ul class="errorlist">'+error_str+"</ul>")}}}for(var C in B.messages){msgs=B.messages[C];if(msgs.length>0){msg_str="";for(var D in msgs){msg_str+="<li>"+msgs[D]+"</li>"}$("#id_"+C+"_item .message").html('<ul class="msglist">'+msg_str+"</ul>")}}}function form_submit_ajax(A,E,C,F,B){E=jQuery(E);data=E.serializeArray();data.push({name:"form_class",value:A});if(C){for(var D in C){data.push({name:D,value:C[D]})}}$.ajax({type:"POST",url:"/form/submit/",data:data,dataType:"json",success:F,error:B})}function form_field_validate(A,D,B){D=jQuery(D);form=D.parents("form");p=D.parents(".form-item");data=form.serializeArray();data.push({name:"form_class",value:A});data.push({name:"form_field",value:D.attr("name")});data.push({name:"id",value:p.attr("id")});if(B){for(var C in B){data.push({name:C,value:B[C]})}}$.post("/form/validate/",data,form_process_validation,"json")}function update_postal_code_label(){country=jQuery(this)[0];label=jQuery("#id_postal_code_item label")[0];if(country.value=="US"){label.innerHTML="Zip code"}else{label.innerHTML="Postal code or city"}}function encodeURIComponentPlus(A){return encodeURIComponent(A).replace("'","&#39;")};