var MA={};MA.e=YAHOO.util.Event;MA.d=YAHOO.util.Dom;MA.c=YAHOO.util.Connect;MA.is_authenticated=function(b){var a=MA.d.hasClass(MA.d.get("doc4").parentNode,"authenticated");if(!a&&b){alert(b)}return a};MA.autoclearfield=function(){return{init:function(){this.defaultValue="Search for food";MA.e.onAvailable("q",this.fnHandler)},fnHandler:function(a){MA.e.addListener(this,"focus",function(){if(this.value==this.defaultValue){this.value=""}});MA.e.addListener(this,"blur",function(){if(!this.value.length){this.value=this.defaultValue}})}}}();MA.star_rater=function(){return{init:function(){MA.e.onDOMReady(this.setup,this,true)},setup:function(){MA.e.on(MA.d.get("doc4"),"click",this.handleClick,this,true)},handleClick:function(a){var b=MA.e.getTarget(a);if(MA.d.hasClass(b,"star")&&MA.d.hasClass(b.parentNode.parentNode.parentNode.parentNode,"joint_star_rater")){this.rate(b)}},rate:function(e){if(MA.is_authenticated("Please sign in before rating =)")){var b,g,c,d,h,a,f;b=e.parentNode.parentNode.parentNode.parentNode;g=e.parentNode.parentNode.parentNode.action;c=MA.d.getFirstChildBy(e,function(i){return(i.tagName=="input"||i.tagName=="INPUT")});this.value=c.value;d="value="+this.value;a=function(i){b.innerHTML=i.responseText};h={success:a};f=MA.c.asyncRequest("POST",g,h,d)}}}}();MA.star_rater.init();MA.autoclearfield.init();MA.autocomplete=function(){var b=YAHOO.util.Event,a=YAHOO.widget;return{init:function(){b.onAvailable("restaurantInput",this.fnHandler)},fnHandler:function(){var d=new a.DS_XHR("/ajax/restaurant/list",["ResultSet.Result","Title"]),c;d.maxCacheEntries=60;d.queryMatchContains=true;c=new a.AutoComplete("restaurantInput","restaurantACContainer",d);c.formatResult=function(e,f){return e[1].Title};c.forceSelection=true;c.allowBrowserAutocomplete=false;c.itemSelectEvent.subscribe(function(f,e){document.getElementById("restaurant_id").value=e[2][1]["Id"]})}}}();MA.autocomplete.init();MA.toggler=function(){var a=YAHOO.util.Event,b=YAHOO.util.Dom;return{init:function(){a.onDOMReady(this.setup,this,true)},setup:function(){a.on(b.get("doc4"),"click",this.handleClick,this,true)},handleClick:function(d){var e=a.getTarget(d),c;if(b.hasClass(e,"toggle")){c=e.parentNode.parentNode;this.toggle(c)}},toggle:function(d){var c="on",e="off";if(b.hasClass(d,c)){b.removeClass(d,c);b.addClass(d,e)}else{b.removeClass(d,e);b.addClass(d,c)}}}}();MA.paginator=function(){return{init:function(){MA.e.onDOMReady(this.setup,this,true)},setup:function(){var a=MA.d.get("menu_page");if(a){MA.e.on(a,"click",this.handleClick,this,true)}},handleClick:function(d){var e=MA.e.getTarget(d),b=e.parentNode.parentNode.parentNode,a,f,c;if((MA.d.hasClass(e.parentNode,"page")||MA.d.hasClass(e.parentNode,"navigation"))&&(b.id=="menu_page")){MA.e.preventDefault(d);a=function(g){b.innerHTML=g.responseText};f={success:a};c=MA.c.asyncRequest("GET",e.href,f)}}}}();MA.map=function(){return{draw:function(b,d){var c,a;c=new YMap(document.getElementById("restaurant_map"));c.drawZoomAndCenter(b,4);a=new YMarker(b);a.addAutoExpand(d);c.addOverlay(a);c.disableKeyControls();c.addZoomLong()}}}();MA.tagger=function(){return{init:function(){MA.e.onDOMReady(this.setup,this,true)},setup:function(){var b,a;this.tagger=MA.d.get("tag_form_container");if(this.tagger){b=document.createElement("div");b.innerHTML='<a href="#">Add a tag?</a>';this.tagger.appendChild(b);a=b.firstChild;MA.e.on(a,"click",this.handleClick,this,true)}},handleClick:function(e){var c,b,d,a;MA.e.preventDefault(e);d=MA.d.get("tag_form");MA.d.setStyle(d,"display","block");MA.d.setStyle(e.target,"display","none");a=MA.d.get("tag_type_field").name;c=new YAHOO.util.XHRDataSource("/ajax/tag_ac?t="+a);c.responseType=YAHOO.util.XHRDataSource.TYPE_TEXT;c.responseSchema={recordDelim:"\n",fieldDelim:"\t"};c.maxCacheEntries=5;b=new YAHOO.widget.AutoComplete("tag_input","tag_listing",c);b.generateRequest=function(f){return"&q="+f};MA.e.on(d,"submit",this.handleSubmit,this,true);MA.d.get("tag_input").focus()},handleSubmit:function(e){var b,a,f,d,c;b=MA.d.get("tag_list");a=function(g){b.innerHTML=g.responseText};f={success:a};YAHOO.util.Connect.setForm(e.target);d=e.target.action;c=YAHOO.util.Connect.asyncRequest("POST",d,f);MA.d.get("tag_input").value="";MA.e.preventDefault(e)},remove:function(h){var d,b,f,a,g,c,e;d=MA.d.get("tag_list");b=MA.d.get("tag_type_field").name;f="/ajax/tag_rm?t="+b;a=function(i){d.innerHTML=i.responseText};g={success:a};c="id="+h;e=YAHOO.util.Connect.asyncRequest("POST",f,g,c);return false}}}();MA.toggler.init();MA.paginator.init();MA.tagger.init();