window.truvo=window.truvo||{};$.extend(truvo,{DEBUG:false,NS_REGEXP:/^(([a-z.]+)\.)?(\w+)$/,_apis:{},_klasses:{},_views:{},bootstrap:function(a){truvo.DEBUG=a.debug||false},init:function(){var b=new Date;try{truvo._initApis();truvo._initViews();truvo._initKlasses();$(truvo).trigger("ready");truvo.view.load()}catch(a){truvo.error("truvo#init: "+a)}truvo.debug("[truvo.init] finished in "+((new Date-b)/1000)+" second")},ready:function(a){$(truvo).bind("ready",a)},require:function(a){return this._initApi(a)},ns:function(a){var e=$.isArray(a)?a:a.split("."),d=truvo;for(var b in e){var c=e[b];d=d[c]=d[c]||{};d._name=c}return d},api:function(a,b){this._apis[a]=this._makeApi(a,b)},klass:function(a,b){this._klasses[a]=function(){var c=truvo.NS_REGEXP.exec(a);if(c){return truvo.ns(c[2]||[])[c[3]]=b}else{throw"truvo.klass: given constructor path is invalid: '"+a+"'"}}},view:function(a,c){var b="view."+a;this._views[b]=function(){return truvo.view.add(a,truvo._makeApi(b,c))}},emptyFunction:function(){},t:function(a,b){return truvo.I18n.get(a,b)},redirect:function(a){a=a.replace(/#.*$/,"");location.href=a||"/"},reload:function(){truvo.redirect(location.href)},toJSON:function(s){return eval("("+s+")")},debug:function(a){if(truvo.DEBUG&&window.console&&$.isFunction(console.debug)){console.debug(a)}},error:function(a){if(truvo.DEBUG&&window.console&&$.isFunction(console.error)){console.error(a)}},wait:function(a,b){setTimeout($.isFunction(b)?b:truvo.emptyFunction,a*1000||1)},_makeApi:function(a,b){return function(){var c=truvo.ns(a);return $.extend(c,b(c))}},_initApis:function(){for(var a in this._apis){this._initApi(a)}return true},_initApi:function(a){var b=this._apis[a];if(!$.isFunction(b)){return b}truvo.debug("truvo: initializing api: '"+a+"'");this._apis[a]=b=b();if($.isFunction(b.init)){b.init()}return b},_initKlasses:function(){for(var b in this._klasses){truvo.debug("truvo: initializing class: '"+b+"'");var a=this._klasses[b];a()}return true},_initViews:function(){for(var a in this._views){this._views[a]=this._views[a]()}}});$(document).ready(function(){truvo.init()});function onYouTubePlayerReady(a){}truvo.api("I18n",function(a){return{_messages:{},get:function(c,b){b=b||{};var d=b.scope;if(d){if($.isArray(d)&&d.length>0){d.push(c);c=d.join(".")}if(typeof(d)=="string"){c=d+"."+c}}return this._messages[c]},add:function(){arguments.length>1?this._messages[arguments[0]]=arguments[1]:$.extend(this._messages,arguments[0])}}});truvo.api("dom",function(a){var b={onResourceDeleted:function(c){if(c.redirect){truvo.redirect(c.redirect)}else{$("."+this.domClass(c)).remove();var d=$(this.domId(c)).next();if(d.hasClass("hr")){d.remove()}$(this.domId(c)).remove()}},findScrollDist:function(){var c=null;if(window.pageYOffset){c=window.pageYOffset}else{if(document.documentElement&&document.documentElement.scrollTop){c=document.documentElement.scrollTop}else{c=document.body.scrollTop}}return c},showLoading:function(){var c=$("#truvo-loading");if(c.css("display")!="block"){$(document).scroll(this.positionLoading)}$("#truvo-loading").show();this.positionLoading()},hideLoading:function(){$("#truvo-loading").hide();$(document).unbind("scroll",this.positionLoading)},positionLoading:function(){$("#truvo-loading").css("top",a.findScrollDist()+"px")},ieLayoutFix:function(c,d){if(truvo.dom.isIE6()||(d&&truvo.dom.isIE7())){c.addClass("forceLayout").addClass("forceRelative");setTimeout(function(){c.removeClass("forceRelative")},1)}},isIE6:function(){return $.browser.msie&&$.browser.version=="6.0"},isIE7:function(){return $.browser.msie&&$.browser.version=="7.0"},addNewSearch:function(c,d){if(!$.browser.chrome&&typeof window.external=="object"&&typeof window.external.AddSearchProvider!="undefined"){window.external.AddSearchProvider(c);$.cookie(d,1,{expires:3650})}else{alert("Sorry, your browser seems unsupported. You need Firefox 2+ or Internet Explorer 7+.")}},domId:function(c){return"#"+this.domClass(c)},domClass:function(d){var c=truvo.util.keys(d)[0];var e=d[c].id;return c+"_"+e},getId:function(c){return parseInt(c.replace(/^\w+_/,""))}};return b});truvo.api("fb",function(a){return{init:function(){$("a.fb-login").click(function(){FB.Connect.requireSession(function(){a.connect("#facebook_signup");return false})})},connect:function(b){b=typeof(b)!="undefined"?b:"#facebok_connect";$(b).trigger("submit")}}});truvo.api("history",function(){return{BASE_URL:"/history",AJAX_OPTS:{dataType:"script"},toggle:function(){this._request("toggle")},clearViewing:function(){this._request("clear_viewing")},clearSearch:function(){this._request("clear_search")},toggleDisplay:function(){var a=($.cookie("history_shown")||"0");var b=(a=="0"?"1":"0");$.cookie("history_shown",b,{expires:365,path:"/"});truvo.debug("Value: "+b+"\nCookie: "+$.cookie("history_shown"))},_request:function(a){$.ajax($.extend(this.AJAX_OPTS,{url:this.BASE_URL+"/"+a}))}}});truvo.api("JQueryExt",function(){var c=$.ajax;var b=function(h){if(!h){return true}try{var f=h.getResponseHeader("X-Redirect-To");if(f){truvo.redirect(f);return false}else{return true}}catch(g){return true}};$.ajax=function(e){var f=e.success||b;if(f!=b){e.success=function(g,h,i){if(b(i)){f.apply(this,[g,h,i])}}}else{e.success=b}c(e)};var d=$.fn.val;var a={tooltip:function(e){this.each(function(){var f=$(this);f.data("tooltip",truvo.user.get("tooltips")[f.attr("tooltip")])})},alignTo:function(i,h){i=$(i);h=$.extend({marginX:0,marginY:0},h);var g=$(this);if(g.parent().tagName!="body"){$(document.body).append(g.remove())}g.css({opacity:0}).show();var j=i.offset();var f=i.width();var e=i.height();return g.hide().css({left:(j.left+h.marginX)+"px",top:(j.top+e+h.marginY)+"px",opacity:100})},val:function(e){var f=d.apply(this,[e]);if(typeof(e)=="undefined"){return f==this.attr("data-default-value")?"":f}else{return f}},clear:function(){return this.attr("data-default-value")?this.addClass("default-value-active").val(this.attr("data-default-value")):this.val("")}};if(/chrome/i.test(navigator.userAgent)){jQuery.browser.chrome=true}return jQuery.fn.extend(a)});truvo.api("Lightflow",function(b){var a={dialogOptions:{modal:true,autoOpen:false,width:400,closeOnEscape:true,open:function(c,d){setTimeout(function(){$(c.target).dialog("option","position","center")},250)}},currentUrl:"",currentParams:{},currentLfParams:{},setup:false,init:function(){this._container=$("#lightflow");this._contentWrapper=this._container.find("#lightflow-content-wrapper");this._container.find(".close").live("click",function(){b.close();return false});this._container.find(".reload").live("click",function(){b.reload();return false});this._container.dialog(this.dialogOptions);this.setup=true},showForm:function(g,i,c){i=i||{};c=c||{};i.format="lf";var e=typeof(g)!="string";var h=e?g.href:g;var d=(c.method||"GET");if(e){var f=$(g).attr("data-view_handler")}if(f){f=truvo.view.register(f)}this.currentUrl=h;this.currentParams=i;this.currentLfParams=c;$.ajax({url:h,type:d,data:i,preventEval:true,success:function(j,k){var l=$("embed:not[wmode!='transparent']").addClass("modalTransparent").attr("wmode","transparent").hide();b._setContent(j);b.open();l.show();if(f){f.load(b._container.find("form"))}},error:function(l,k,j){switch(l.status){case 401:truvo.redirect("/login");break;default:break}}});return false},reload:function(){b.showForm(b.currentUrl,b.currentParams,b.currentLfParams);return false},open:function(){b._setWidth();b._container.dialog("open");if(truvo.dom.isIE6()){$(document.body).addClass("lightflow-open")}},close:function(){var c=$("embed.modalTransparent").removeAttr("wmode").removeClass("modalTransparent").hide();b._container.dialog("close");b._contentWrapper.html("");c.show();if(truvo.dom.isIE6()){$(document.body).removeClass("lightflow-open")}},_setContent:function(c){this._contentWrapper.html(c);this._initForm()},_setWidth:function(){var c=this._contentWrapper.find(".content").css("width");this._container.dialog("option","width",parseInt(c)+30)},_formSubmit:function(c){$.ajax({url:c.action,data:$(c).serialize()+"&format=lf",type:c.method,complete:function(d,e){if($.isFunction($(c).data("complete"))){$(c).data("complete")()}if(d.status==201||d.status==200){b.close();truvo.reload()}else{if(d.status==422){b._setContent(d.responseText)}}truvo.dom.hideLoading()}});return false},_initForm:function(){this._bindFormSubmit();this._container.find(".passive-user-fields :input, .passive-user-fields label").each(function(){var c=this.tagName=="INPUT"?"id":"for";var d="lf-"+$(this).attr(c);if(d){$(this).attr(c,d)}})},_bindFormSubmit:function(){this._contentWrapper.find('form[enctype!="multipart/form-data"]').submit(function(){return b._formSubmit(this)});return false}};return a});truvo.api("Login",function(b){var a={initNetlogButton:function(){$("#netlog-login").click(function(){$("#netlog-login-form").slideToggle("fast")})},initButton:function(c){$("#"+c).click(function(){$("#"+c+"-form").submit()})}};return a});truvo.api("panner",function(g){var f=10000;var e=0;var c=null;var b=false;function i(){if(!b){b=typeof(map)!="undefined"&&map&&map.isLoaded()}return b}function h(j){if(i()&&j){j.showHighlight()}}function d(j,k){if(c!=null){c.removeHighlight();if(i()&&map.closeInfoWindow){map.closeInfoWindow()}}e=k;c=j.markers[k];h(c);a.showHighlight(k);var l=$("#place-info-"+k).next();if(l.length>0){var m=new GSize(20,-20);if(c){c.openInfoWindowHtml(l.html(),{pixelOffset:m})}}}var a={panTimer:null,panOverMarkerGroup:function(j){if(i()){$(".info-window-wrapper").width($(map.getContainer()).width()*0.75);d(j,e);e=(e+1)%j.markers.length}g.panTimer=setTimeout("truvo.panner.panOverMarkerGroup(places)",f)},showHighlight:function(j){$(".places-list div.info").css({backgroundColor:"white"});$(".places-list .info:eq("+j+")").css({backgroundColor:"#FEF8EC"})},start:function(){if(!i()||!map.panTo){truvo.wait(1,g.start);return}if(places&&places.markers.length>1){g.panOverMarkerGroup(places)}},startPanning:function(){truvo.debug("truvo.panner: startPanning() is deprecated, please use truvo.panner.start()");g.start()},stopPanning:function(){clearTimeout(g.panTimer)},togglePanning:function(){var j=$("#togglePanning");if(j.hasClass("on")){this.stopPanning();j.removeClass("on").html(truvo.t("autohint.start_autohint"))}else{this.start();j.addClass("on").html(truvo.t("autohint.stop_autohint"))}return false},addMouseActions:function(){$(".places-list .info").each(function(j){$(this).hover(function(){if(i()){d(places,j)}})})}};return a});truvo.api("Rating",function(self){return{cS:"-wrapper",fS:"-field",rS:"-rate",rates:["Awful","Not too good","OK","Good","Fantastic"],eR:"",init:function(){var ratingLinks=$("ul.star-rating li a");ratingLinks.live("click",function(){if(this.onclick){return true}var el=$(this);self.set(el.attr("data-prefix"),el.html(),el.attr("data-width"));return false});ratingLinks.live("mouseenter",function(){if(this.onclick){return true}var el=$(this);self.show(el.attr("data-prefix"),el.html());return false});ratingLinks.live("mouseleave",function(){if(this.onclick){return true}var el=$(this);self.hide(el.attr("data-prefix"),el.html());return false})},set:function(prefix,rate,width){$("#"+prefix+this.fS)[0].value=rate;$("#"+prefix+"-current-rating").css("width",(rate*width)+"px")},show:function(prefix,rating){$("#"+prefix+this.rS).html(eval(prefix+"_qualifications["+(rating-1)+"]"))},hide:function(prefix,rating){var v=$("#"+prefix+this.fS).value;if(rating>0&&rating<6){$("#"+prefix+this.rS).html(this.rates[v-1])}else{$("#"+prefix+this.rS).html(this.eR)}}}});truvo.klass("ui.TabNav",function(a,f){var j=$(a);var e=$(f);var g=j.find("li > a");var c=function(l){return $(".tab-proxy",l)};var b=!j.hasClass("no-rss");var d=function(o){var n=j.find("li.active a:first");var m=n.attr("href").split("?")[0]+".rss?language="+truvo.user.locale()+(o?"&type="+o:"");var l=$(".inner-container",e);if(l.length>0){l.each(function(r,q){var p=m.replace("people.rss",$(q).attr("data-type")+".rss");k($(q).find("h3:first"),p,n.attr("title"))})}else{k(e.find("h2:first"),m,n.attr("title"))}};var i=function(){$(".breadcrumb li:last-child").text(j.find("li.active").text())};var k=function(n,l,o){$(".icon.rss",n).remove();$(n).append('<a href="'+l+'" class="icon rss right">rss feed</a>');var m=$(n).children("a:last");m.attr("tooltip",o)};this.load=function(n){var m=(/type=(\w+)/).exec(this.href);var l=$(n.target);$.get(this.href,function(q){e.html(q);if(l.parents("li").length>0){j.find("li.active").removeClass("active");l.parents("li").addClass("active")}else{if(l.hasClass("tab-proxy")){var o=l.attr("href").split("?")[0];var p=j.find("li a[href^="+o+"]").parent();if(p.length>0){j.find("li.active").removeClass("active");p.addClass("active")}}}if(j.hasClass("breadcrumb-sync")){i()}if(b){d(m?m[1]:null)}c(e).click(h);truvo.dom.ieLayoutFix(e)});return false};var h=this.load;this.onContentContainerClick=function(o){var n=$(o.target);var m=n.attr("href");var l=n.parents(".inner-container")[0]||e;if(!/page=\d+/.test(m)&&!/\?sort\[\w+\]=(desc|asc)$/.test(m)||n.parents(".ajax-view").length>0){return true}$.get(m,function(p){if(!(/^try/).test(p)){$(l).html(p)}if(b){d(null)}location.href="#"+j.attr("id")});return false};g.click(this.load);c().click(this.load);if(e.parents(".no-ajax-pagination").length===0){e.click(this.onContentContainerClick)}if(b){d()}});truvo.api("twitter",function(a){return{init:function(){var b=$("#twitter-char-count");var c=$("#twitter-status");if(b.length==0||c.length==0){return}a.countChars(c,b,140);var d=function(){a.countChars(c,b,140)};c.live("keyup",d).live("change",d);b.show()},countChars:function(e,b,d){var c=e.val().length;b.find("span.counter").html((d-c)+"/"+d);if(c>d){e.addClass("error");b.addClass("error")}else{e.removeClass("error");b.removeClass("error")}}}});truvo.klass("Upload",function(c,f){f=$.extend({autoUpload:false,showPreview:false,action:c.attr("action"),params:{},callback:null,showLoading:null,hideLoading:null,fileExt:"*.jpg;*.jpeg;*.gif;*.png;*.JPG;*.JPEG;*.GIF;*.PNG",fileInfoField:"#image_file_file_name",fileUrlField:"#image_image_file_url",fileFieldName:"image[file]"},f);var n=c.find(":file");if(n.data("uploadifed")){return}var l=$(f.fileUrlField);var b=c.find("a[data-type=submit]");var q=$("#image-error-explanation");var k=$("#select-file-message");var i=$("#no-flash-message");var p=c.find(f.fileInfoField);var s=($.cookie("language")||"en").split("-")[0];var r=$.extend({format:"json",lightflow:c.parent("#lightflow").length>0?"1":"0",authenticity_token:encodeURIComponent(c.find("input[name=authenticity_token]").attr("value")),_truvo_session:c.find("input[name=_truvo_session]").attr("value")},f.params);var e=function(){$.isFunction(f.showLoading)?f.showLoading():truvo.dom.showLoading()};var h=function(){$.isFunction(f.hideLoading)?f.hideLoading():truvo.dom.hideLoading()};var o=function(v,t,u){p.attr("value",u.name);k.hide();n.uploadifySettings("scriptData",r);if(f.autoUpload){e()}return false};var m=function(){var t,y,w,x,u;if(arguments.length>3){t=arguments[0];y=arguments[1];w=arguments[2];x=arguments[3];u=arguments[4]}else{x=arguments[0].responseText;u=arguments[1]}h();q.hide();var B=truvo.toJSON(x);if(B.errorMessages){q.html(B.errorMessages).show()}else{if(f.showPreview){try{var A=c.find(f.showPreview).html(B.previewImg);var v=A.children("img").attr("rel");if(f.callback){f.callback(v)}}catch(z){alert("Ooops. An unexpected error occured, please reload the page try again!");truvo.debug("truvo.Upload error:"+z.message)}}else{if(B.redirect_to){truvo.redirect(B.redirect_to)}else{truvo.reload()}}}};var g=function(w,t,v,u){h();switch(u.info){case 302:truvo.reload();break;case 403:alert("Ooops! Looks like you've been logged out, please log in and try to upload "+v.name+" again.");break;default:alert("An unexpected error occured");break}};var j=function(){return !!(l.attr("value")||n.attr("value")||p.attr("value")||c.attr("data-valid-multiselect"))};var a=function(){var t=swfobject.getFlashPlayerVersion();if(t.major==0){i.show();return false}else{return true}};var d=a();if(d){n.uploadify({uploader:"/flash/uploadify.swf",script:f.action,fileDataName:f.fileFieldName,fileExt:f.fileExt,fileDesc:$("#file-desc").html(),buttonImg:"/images/bg_btn_browse_"+s+".png",width:100,height:23,onSelect:o,onComplete:m,onError:g,auto:f.autoUpload});p.attr("value","")}else{p.parent().hide()}if(!f.autoUpload){b.click(function(){if(j()){e();if(c.attr("data-valid-multiselect")||(!d&&!l.attr("value"))){c.get(0).submit()}else{if(l.attr("value")){$.ajax({url:c.attr("action")+".json",type:"post",data:c.serialize(),complete:m})}else{var t=c.find(".lightflow-auth input");n.uploadifySettings("scriptData",$.extend(r,{"image[caption]":c.find("input[name='image[caption]']").attr("value")}));if(t.length){n.uploadifySettings("scriptData",$.extend(r,{"user[email]":$("#lf_email").attr("value"),"user[location]":$("#lf_location").attr("value"),"user[terms_of_service]":$("#user_terms_of_service").attr("value"),remember_me:$("#remember_me").attr("value")}))}n.uploadifyUpload()}}}else{k.show()}return false})}l.keypress(function(t){if(t.keyCode=="13"){k.hide();b.click();return false}else{return true}});n.data("uploadifed",true)});truvo.klass("User",function(a){this.data=a||{};this.update=function(b){$.extend(this.data,b)};this.get=function(b){return this.data[b]};this.set=function(c,b){return this.data[c]=b},this.locale=function(){return $.cookie("language")||"en"},this.isLoggedIn=function(){return typeof(this.get("user"))!="undefined"},this.isFB=function(){return this.get("fb_user")},this.isNetlog=function(){return this.get("netlog_user")},this.isTwitter=function(){return this.get("twitter_user")}});truvo.api("util",function(b){var a={init:function(){var d=_.methods();for(var e in d){var c=d[e];b[c]=_[c]}}};return a});truvo.api("view",function(){return{_registered:{},_views:{},_loadPriorityMap:{},load:function(){for(var a in this._registered){this._loadView(a)}},loadBefore:function(b,a){if(truvo.util.isUndefined(this._views[b])){truvo.error("[truvo.view.loadBefore] view '"+b+"' does not exist - did you mean '"+this._viewCandidate()+"'?")}(this._loadPriorityMap[b]=this._loadPriorityMap[b]||[]).push(a)},get:function(a){return this._views[a]},add:function(b,a){return(this._views[b]=a)},register:function(){var a=[];for(var d=0;d<arguments.length;d++){var c=arguments[d];var b=this._views[c];if(b){if($.isFunction(b)){a.push(this._registered[c]=b())}else{truvo.warn("[truvo.view.register] '"+c+"' was already registered")}}else{var f="[truvo.view.register] '"+c+"' does not exist";var e=this._viewCandidate(c);if(e){f+="- did you mean '"+e+"'?"}throw f}}return a.length>1?a:a[0]},_loadView:function(a){if(!$.isFunction(this._views[a])){return}try{if(!truvo.util.isUndefined(this._loadPriorityMap[a])&&this._loadPriorityMap[a].length>0){while(this._loadPriorityMap[a].length>0){this._loadView(this._loadPriorityMap[a].pop())}}truvo.debug("[truvo.view] loading '"+a+"'");this._views[a]=this._registered[a];this._views[a].load();delete this._registered[a]}catch(b){throw"[truvo.view] failed to load '"+a+"'; message: "+b.message}},_unloadView:function(a){truvo.debug("[truvo.view] unloading '"+a+"'");this.get(a).unload()},_viewCandidate:function(a){var b=new RegExp(a);return truvo.util.detect(truvo.util.keys(this._views),function(c){return b.test(c)})||""}}});truvo.view("AddPlace",function(b){$.metadata.setType("html5","data-validate");var a={wizard:$("#addPlaceSteps").jWizard({hideTitle:true,buttonText:{cancel:truvo.t("addPlaceButtonTitles.cancel"),previous:truvo.t("addPlaceButtonTitles.previous"),next:truvo.t("addPlaceButtonTitles.next"),finish:truvo.t("addPlaceButtonTitles.finish")},events:{onCancel:function(c){truvo.redirect("/places")},onFinish:function(c){$("#place_form").submit()}},cssClasses:{buttons:{div:"clear buttons",cancel:"button grey cancelButton customized",previous:"button grey previousButton customized",next:"button orange nextButton customized",finish:"button orange finishButton customized"}}}).data("jWizard"),map:null,mapContainerId:"placeCity",mapContainer:$("#placeCity"),mapOverlay:$("#apMapOverlay"),lastAddress:null,lastCity:null,newPlaceMarker:null,validator:$("#place_form").validate({errorClass:"error-message",errorElement:"p",errorPlacement:function(c,d){c.addClass("error-message");if(d.attr("id")!="place_categories_1"){d.parents("span.field").after(c)}else{d.parents("div.line.categories").append(c)}},meta:"validate",onsubmit:false,highlight:function(d,c){if($(d).attr("id")!="place_categories_1"){$(d).parents("div.field-wrapper").addClass("errors");if($(d).parents("span.field").next().length>0){$(d).parents("span.field").next("p.error").addClass("error-message")}}else{$(d).parents("div.line.categories").prev("div.line").addClass("errors");$(d).parents("div.line.categories").addClass("errors")}},unhighlight:function(d,c){if($(d).attr("id")!="place_categories_1"){$(d).parents("div.field-wrapper").removeClass("errors");$(d).parents("div.field-wrapper").find("p.error-message").remove()}else{$(d).parents("div.line").removeClass("errors");$(d).parents("div.line").prev("div.line.errors").removeClass("errors")}}}),load:function(){var c=function(){b.lastAddress=$("#place_address").val();b.lastCity=$("#place_city_name").val();if(b.lastAddress!=""||b.lastCity!=""){var d={city_name:b.lastCity,address:b.lastAddress};b._reset();$.ajax({url:"/places/geocode",data:d,dataType:"json",success:function(f){var e=f.addresses[0];if(f.addresses.length==0){b._showBackLink(f)}else{if(f.addresses.length==1){b.mapOverlay.hide();b._setupMapWithCenter(e.lat,e.lng,e.accuracy);b._placeMarker(new GLatLng(e.lat,e.lng));b._setPlacemarkFields(e)}else{b.mapOverlay.css("backgroundImage","none");b._renderAddressList(f);b._setupMapWithCenter(e.lat,e.lng,e.accuracy)}}}})}};$("#step_1").bind("onValidate",function(){return $("#place_form").valid()});$("#finalStep").bind("onActivate",function(){if($(this).is(":hidden")){$(this).show()}var d=$("#place_geocoded_lat").val();var g=$("#place_geocoded_lng").val();if((d!="")&&(g!="")){b._setupMapWithCenter(d,g);b._placeMarker(new GLatLng(d,g))}var f=($("#place_street_name").val()==b.lastAddress);var e=($("#place_city_name").val()==b.lastCity);if(!(f&&e)){b.mapOverlay.html("");c()}});this._loadCategories()},_renderAddressList:function(d){var f=d.addresses;var c=d.addresses_info;var e=$('<ol id="addressesList"></ol>');b.mapOverlay.html("");$.each(f,function(){var h=$('<li class="apAddressItem">'+this.full_address+"</li>");h.css("cursor","pointer");var g=this;h.click(function(){b._placeMarker(new GLatLng(g.lat,g.lng));b._setPlacemarkFields(g);$("#apMapOverlay").hide();return false});e.append(h)});$("#bd-related").append(e);b.mapOverlay.append("<h2>"+c+"</h2>");b.mapOverlay.append(e)},_reset:function(){b.mapOverlay.html("").attr("style","").show();b.map=null;b.newPlaceMarker=null;b.mapContainer.html("")},_setupMapWithCenter:function(f,d,e){var c=new GLatLng(f,d);if(b.map==null){b.map=new GMap2(document.getElementById(b.mapContainerId));b.map.addControl(new GMapTypeControl());b.map.addControl(new GLargeMapControl());b.map.enableDoubleClickZoom()}var g=new Array(2,4,6,10,12,13,14,15,16);b.map.setCenter(c,g[e])},_setPlacemarkFields:function(c){$("#place_geocoding_placemark_id").val(c.id)},_placeMarker:function(c){var e=c.lat();var d=c.lng();$("#place_geocoded_lat").val(e);$("#place_geocoded_lng").val(d);if(b.newPlaceMarker==null){b.newPlaceMarker=new GMarker(c,{draggable:true,bouncy:false});b.map.addOverlay(b.newPlaceMarker);GEvent.addListener(b.newPlaceMarker,"drag",function(f){$("#place_lat").val(f.lat());$("#place_lng").val(f.lng())})}b.map.panTo(c);b.newPlaceMarker.setLatLng(c);$("#addressList").hide("slow")},_showBackLink:function(c){b.mapOverlay.html("");b.mapOverlay.css("backgroundImage","none");b.mapOverlay.append("<h2>"+truvo.t("addPlace.no_results_heading")+"</h2>");b.mapOverlay.append("<p>"+c.addresses_info+"</p>");$("a.changeStep",b.mapOverlay).click(function(){b.wizard.changeStep(0);$("#place_street_name").focus();return false})},_loadCategories:function(){this._categorySelects=$("select.categories");$.ajax({url:"/categories/tree.json",type:"get",dataType:"json",success:function(f){b._categorySelects.html("");b._categories=f;b._selectedCategory=b._findCategoryById($("#category_id").attr("value"));for(var e in b._categories){truvo.util.each(b._categories[e],function(g){g.level=e})}var d=f["1"];var c=$(b._categorySelects[0]);b._renderCategories(c,d);b._renderSelectedCategories()}});this._categorySelects.change(function(){var f=$(this).find(":selected");var c=b._nextCategorySelect(f.parent());if(c.length>0){var g=truvo.dom.getId(c.attr("id"));var d=b._findCategoryChildren(g,f.attr("value"));var e=b._nextCategorySelect(c);if(e){e.html("")}b._renderCategories(c,d)}})},_renderSelectedCategories:function(f){f=f||this._selectedCategory;if(f){if(f.level>1){var c=$(this._categorySelects[f.level-1]);var e=this._findCategoryById(f.parent_id);var d=this._findCategoryChildren(f.level,e.id);this._renderCategories(c,d,f)}else{this._markSelected(f)}if(f.parent_id){this._renderSelectedCategories(this._findCategoryById(f.parent_id))}}},_markSelected:function(c){c=$(this._categorySelects[c.level-1]).find('option[value="'+c.id+'"]').get(0);if(c){c.selected=true}return c},_renderCategories:function(c,d,f){var e="";if(d.length>0){truvo.util.each(d,function(g){e+='<option value="'+g.id+'">'+g.name+"</option>"})}c.html(e);if(f){this._markSelected(f)}},_findCategoryChildren:function(c,d){return truvo.util.filter(this._categories[c],function(e){return e.parent_id==d})},_findCategoryById:function(f){for(var d in this._categories){var e=this._categories[d];var c=truvo.util.detect(e,function(g){return g.id==f});if(c){break}}return c},_nextCategorySelect:function(c){return c.parent().next().find("select")}};return a});truvo.view("Ajax",function(b){var a={load:function(){this._initPagination();this._initLightFlowLinks();this._initRemoteLinks();this._initDeleteLinks();$("body").ajaxSend(b.onBeforeSend);$("body").ajaxComplete(b.onComplete);$("body").ajaxError(b.onError)},onBeforeSend:function(){truvo.dom.showLoading()},onComplete:function(c){truvo.dom.hideLoading();truvo.view.Buttons.show();truvo.view.DefaultValue.init();if(typeof(translationMenu)!="undefined"){translationMenu()}},onError:function(c){truvo.debug("XHR error: ",c.status," - ",c.statusText)},_initPagination:function(){$(".pagination.ajax-view:not(.noajax) > a").live("click",function(){var c=$(this).parents(".pagination-target:first");$.ajax({url:this.href,success:function(d){c.html(d)}});return false});$(".pagination:not(.noajax):not(.ajax-view) > a").live("click",function(){var c=$(this).parents(".pagination").parent();$.ajax({url:this.href,dataType:"script",success:function(){truvo.dom.ieLayoutFix(c)}});return false})},_initLightFlowLinks:function(){$("a[data-lightflow=true]").live("click",function(c){truvo.Lightflow.showForm(this);return false})},_initDeleteLinks:function(){$('a[data-method="delete"], a[data-method="post"], a[data-method="put"]').live("click",function(j){var h=$(this);if(j.button!=0||h.attr("data-remote")=="true"){return true}var k=h.attr("data-method");var g=h.attr("data-confirm");if(g&&k=="delete"){g=truvo.t("delete_confirm")}if(g?confirm(g):true){var i=document.createElement("form");i.style.display="none";this.parentNode.appendChild(i);i.method="POST";i.action=this.href;var c=document.createElement("input");c.setAttribute("type","hidden");c.setAttribute("name","_method");c.setAttribute("value",k);i.appendChild(c);var d=document.createElement("input");d.setAttribute("type","hidden");d.setAttribute("name","authenticity_token");d.setAttribute("value",truvo.user.get("authenticity_token"));i.appendChild(d);i.submit()}return false})},_initRemoteLinks:function(){$("a[data-remote=true]").live("click",function(j){if(j.button!=0){return true}if(!/disabled/.test(this.className)){var g=$(this);if($(this).attr("data-confirm")?confirm(truvo.t("delete_confirm")):true){var f=g.attr("data-method")||"get";var i={};var d=g.attr("data-type")||"script";var c=g.attr("data-toggle_name");if(f=="delete"){i._method="delete";d="json"}if(f!="get"){i.authenticity_token=truvo.user.get("authenticity_token")}var k=b._extractCallback(g.attr("data-onsuccess"));var h=b._extractCallback(g.attr("data-onerror"));$.ajax({url:this.href,type:f,data:i,dataType:d,contentType:"text/html",success:function(e){if(f=="delete"&&!k){truvo.dom.onResourceDeleted(e)}else{if($.isFunction(k)){k(e)}}if(c){g.attr("data-toggle_name",g.html()).html(c)}}})}}return false})},_extractCallback:function(f){if(!f){return false}var d=f.split(":");var c=d[0];var e=d[1];if(c=="redirect"){return function(){truvo.redirect(e)}}else{if(c=="update"){return function(g){$(e).html(g)}}else{return false}}}};return a});truvo.view("Application",function(a){return{load:function(){window.Rating=truvo.Rating;this.preloadAssets();this.initOpenXHeader();this.initNetlogHeader();this.initExpandableLists();this.initializeLightbox();$("a.print").live("click",function(){window.print();return false})},preloadAssets:function(){var b=function(c){var e=(/url\(['"]?(.*)['"]?\)/).exec(c.css("background-image"));if(e&&e.length>1){var d=new Image();d.src=e[1]}};if($("#globalActivityIndicator .globalActivityIndicatorIcon")){b($("#globalActivityIndicator .globalActivityIndicatorIcon"))}},initializeLightbox:function(){$(".lightbox").lightbox({strings:{help:truvo.t("help"),prevLinkTitle:truvo.t("lightbox.prevLinkTitle"),nextLinkTitle:truvo.t("lightbox.nextLinkTitle"),prevLinkText:truvo.t("lightbox.prevLinkText"),nextLinkText:truvo.t("lightbox.nextLinkText"),closeTitle:truvo.t("lightbox.closeTitle"),image:truvo.t("lightbox.image"),of:" "+truvo.t("lightbox.of")+" "},navbarOnTop:true})},initNetlogHeader:function(){var b=function(){$.cookie("hide_netlog_ad","1",{expires:21,path:"/"})};$("#header-ad.netlog .close").click(function(){$("#header-ad.netlog").hide();b()});$("#header-ad.netlog .big-button a").click(b)},initOpenXHeader:function(){var b=function(){$.cookie("hide_header_ad","1",{expires:21,path:"/"})};$("#header-ad:not(.netlog) .close").click(function(){$("#header-ad:not(.netlog)").hide();b()});$("#header-ad:not(.netlog) .big-button a").click(b)},initExpandableLists:function(){$(".expandable dd").hide();$(".expandable dt").click(function(){$(this).toggleClass("up").next("dd").slideToggle()})}}});truvo.view("AvatarUpload",function(b){var a={load:function(){this.container=$("#lightflow #new_image").length>0?$("#lightflow"):$("#page");this._addSelectActions();this._loadFacebookImage();this._updateImages()},_addSelectActions:function(){var c=this;var d=function(){$(this).parent().children().removeClass("selected");$(this).addClass("selected");var e=$(this).find("input[name='image[source]']").attr("value");if(e=="new"||e=="truvo"){$(this).parents("form").removeAttr("data-valid-multiselect")}else{$(this).parents("form").attr("data-valid-multiselect",true)}c._setExternalImageUrl($(this))};d.call(this.container.find("form input[checked]").parents(".line"));this.container.find("form .media > .line").each(function(f,e){$(e).click(function(){if($(e).hasClass("disabled")||$(e).hasClass("alternate")){return false}$(e).find("input[name='image[source]']").attr("checked","checked");d.call($(e))})})},_loadFacebookImage:function(){var c=this;var e=this.container.find(".external.facebook");var d=function(){FB.Facebook.apiClient.fql_query("SELECT pic_big FROM user WHERE uid = "+FB.Facebook.apiClient.get_session().uid,function(f){if(f.length>0){e.find(".loading img").attr("src",f[0].pic_big);c._waitForImageUpdate(e.find(".loading"));c._setExternalImageUrl(e,f[0].pic_big)}else{e.addClass("hidden")}})};if(e[0]){if(FB.Facebook.apiClient.get_session()){d()}else{FB.Connect.showPermissionDialog("offline_access",function(f){if(!f){e.remove()}else{d()}})}}},_waitForImageUpdate:function(e){var d=this;var c=function(){if($(e).find("img").attr("width")>0){d._updateImageHeight(e)}else{truvo.wait(0.1,c)}};truvo.wait(0.1,c)},_updateImages:function(){var c=this;this.container.find(".external:not(.facebook) .loading").each(function(e,d){c._waitForImageUpdate(d)})},_updateImageHeight:function(e){if($(e).parents(".facebook")){$(e).parents(".facebook").removeClass("alternate");var c=$(e).parents(".facebook").find("label");c.text(c.attr("data-normal"))}var f=$(e).find("img");var d=f.parent();if(f[0].clientWidth>d[0].clientWidth){f.css("margin-left","-"+(f[0].clientWidth-d[0].clientWidth)/2+"px")}$(e).removeClass("loading")},_setExternalImageUrl:function(c,d){d=d||$(c).hasClass("external")?$(c).find("img").attr("src"):"";$(c).parents("form").find("input[name=external_image_url]").val(d)}};return a});truvo.view("BigMap",function(){return{load:function(){$("#search_form").submit(function(){if($("#map_where").val()!=""){$("#search_anchor_lat").val("");$("#search_anchor_lng").val("");$("#search_filter_lat").val("");$("#search_filter_lng").val("")}Zuper.Search.sendRequest();return false});var b=$.ajaxSettings.complete;var d=null;var c=function(){b();Zuper.Search.Map.doPoiSearch=function(){return false};$("div.resultBlock").hover(function(){Zuper.Search.Map.doContinuousSearch=function(){return false};var e=this.id.split("_")[1];var f=$("#iw_"+e).html();var g=new GSize(20,-20);$("div.resultBlock").css("backgroundColor","white");$(this).css("backgroundColor","#FEF8EC");d=searchResults.markersById[e];d.showHighlight();d.openInfoWindowHtml(f,{pixelOffset:g});Zuper.Search.Map.doContinuousSearch=function(){return true}},function(){$(this).css("backgroundColor","white");if(d!=null){d.removeHighlight()}if(map){map.closeInfoWindow()}})};$.ajaxSettings.complete=c;function a(e){$("#map_per_page").val(e);if(Zuper.Search.form&&Zuper.Search.map){Zuper.Search.sendRequest()}}truvo.dom.showLoading()}}});truvo.view("Buttons",function(){var a=function(m){if(b(m)){return m}else{if(m.tagName=="SPAN"&&b(m.parentNode)){return m.parentNode}else{return false}}};var j=function(m){$(m).each(function(){var o=$(this);var q=o.children("span:last");var n=o.attr("data-toggle_name");var p=q.text();o.attr("data-toggle_name",p);q.html(n)})};var e=function(){return false};var l=function(m){$(m).each(function(){var o=$(this);var p=o.attr("class");var n=p.split(" ")[1];o.attr("class",/inverted/.test(n)?p.replace("-inverted",""):p.replace(n,n+"-inverted"))})};var c=function(m){return $(m).attr("data-type")=="submit"&&$(m).attr("data-auto_submit")!="false"};var i=function(m){return/get|post|put|delete/.test($(m).attr("data-method"))};var d=function(m){return $(m).attr("data-type")=="lightflow"};var b=function(m){return m.tagName=="A"&&$(m).hasClass("button")};var k=function(m){return $(m).hasClass("disabled")};var h=function(m){return $(m).attr("data-confirm")!=null};var f=function(){var n=$(this);var q;if(n.attr("data-button_group")){q=$('[data-button_group="'+n.attr("data-button_group")+'"]')}else{q=n}if(h(this)){if(!window.confirm(n.attr("data-confirm"))){return false}}if(c(this)){var p=n.parents("form");var o=q.children(".label");q.addClass("disabled");q.data("name",o.html());o.html(n.attr("data-loading_message")||truvo.t("common.loading_message"));p.data("complete",function(){o.html(n.data("name"));q.removeClass("disabled");p.removeData("complete").unbind("submit",e)});p.submit();p.submit(e);return false}else{if(d(this)){truvo.Lightflow.showForm(this.href);return false}else{if(i(this)){q.addClass("disabled");var m=$(this).attr("data-method");var r={};if(m=="post"){r.authenticity_token=truvo.user.get("authenticity_token")}$.ajax({url:this.href,type:m,data:r,dataType:"script",complete:function(){q.removeClass("disabled");truvo.dom.hideLoading()},success:function(){if(q.attr("data-toggle_name")){j(q)}if(q.attr("data-toggle_inverted")=="true"){l(q)}}});return false}else{return true}}}};var g=function(n){var m=a(n.target);if(m){return k(m)?false:f.apply(m)}else{return true}};return{load:function(){$("body").click(g);this.show()},show:function(){$("a.button:not(.customized)").show()}}});truvo.view("CitiesAutocomplete",function(a){return{load:function(){a._field=$('input[data-city-autocomplete="true"]');a._valueField=$("#"+a._field.attr("rel"));a._options=a._field.attr("data-city-autocomplete-options");a._current={id:a._valueField.val(),name:a._field.val()};$(a._field).parents("form").submit(function(){if(a._field.val()!=a._current.name){a._field.val("");a._valueField.val("")}return true});a._field.autocomplete({minLength:2,source:function(d,b){var c="/locations/autocomplete?q="+d.term+"&site_id="+$("#site_id").val();if(a._options){c+="&"+a._options}$.get(c,function(e){var f=truvo.util.map(e,function(h){var g="/locations/"+h.seolink;return{value:h.id,name:h.name,seolink:g,label:"<span title='"+h.name+"' rel='"+g+"'>"+h.name+"</span>"}});if(f.length==0){a._field.val(a._current.name)}b(f)})},focus:function(c,b){return false},select:function(g,f){var b=$(this);var d=b.attr("data-autocomplete_action");var c=f.item;switch(d){case"redirect":truvo.redirect(c.seolink);default:b.val(c.name);$("#"+b.attr("rel")).val(c.value);a._current.id=c.value;a._current.name=c.name}return false}})}}});truvo.view("CityMapPlaces",function(){return{load:function(){$(".sort-last-places-form select").change(function(){var a=this.options[this.selectedIndex].value;var b=$(this).parents("form").attr("action")+"/map_places_block?order="+a;$.ajax({url:b,dataType:"script"})})}}});truvo.view("Comments",function(a){truvo.require("JQueryExt");return{load:function(){if(truvo.user.isLoggedIn()){var b=$(".new-comment");b.live("submit",a._onCommentFormSubmit);b.find("textarea").live("focus",a._onCommentFieldFocus).enable();b.find(".button-submit-comment").live("click",a._onCommentSubmitClick);$("body").live("click",function(d){var c=$(d.target);if(!c.parents(".new-comment").length&&a._currentForm&&a._currentCommentBlank()){a._deactivateCommentForm(a._currentForm)}return true});$("#button-add-comment").live("click",function(){$(".new-comment textarea").focus();return false});a._hasButtonAddComment=$("#button-add-comment").length>0;$(".button-add-comment").live("click",a._onAddCommentClick);a._currentForm=null}$(".button-see-all-comments").live("click",a._onSeeAllCommentsClick)},_onAddCommentClick:function(){var c=$(this).parents(".review").find(".new-comment");var b=!a._currentForm||a._currentForm.get(0)!=c.get(0);if(a._currentForm){a._deactivateCommentForm()}if(b){a._activateCommentForm(c)}return false},_onSeeAllCommentsClick:function(){var b=$(this);var c=b.parents(".comments-wrapper").find(".comments-list");$.ajax({url:b.attr("href"),dataType:"html",success:function(d){c.replaceWith(d)}});return false},_onCommentFieldFocus:function(){var b=$(this.form);a._activateCommentForm(b);return true},_onCommentSubmitClick:function(){var b=$(this);var c=b.parents("form");c.find("textarea").each(function(){this.value=$.trim(this.value)});if(!a._currentCommentBlank()){c.submit()}return false},_activateCommentForm:function(b){if(a._currentForm&&a._currentForm.get(0)!=b.get(0)){a._deactivateCommentForm(a._currentForm)}a._currentForm=b.addClass("active");b.show().find("textarea").elastic().get(0).focus()},_deactivateCommentForm:function(c,b){c=c||a._currentForm;b=b||false;c.removeClass("active");c.find(".error-message").remove();c.find(".errors").removeClass("errors");var d=c.find("textarea");d.height(17);if(b){d.disable()}else{if(a._commentsEmpty(c)&&a._hasButtonAddComment){c.hide()}}a._currentForm=null},_onCommentFormSubmit:function(){var e=a._currentForm.parents(".comments-wrapper").find(".comments-list");var d=a._currentForm.serialize();var b=a._currentForm.attr("action");var c=a._currentForm;a._deactivateCommentForm(a._currentForm,true);$.ajax({url:b,type:"post",dataType:"html",data:d,success:function(f){e.append(f);c.reset().find("textarea").clear().enable()},error:function(g){var f=c.parents(".comments-wrapper");c.remove();a._activateCommentForm(f.append(g.responseText).find(".new-comment"))}});return false},_currentCommentBlank:function(){return a._currentForm&&!a._currentForm.find("textarea").val()},_commentsEmpty:function(b){b=b||a._currentForm;return b.parents(".comments-wrapper").find(".comments-list .comment").length==0}}});truvo.view("DefaultValue",function(a){return{load:function(){$(".default-value-active").live("focus",a.activate);$(".default-value").live("blur",function(){var b=$(this);if(!b.val()){b.clear()}return true});$(".default-value-active, .default-value").parents("form").submit(function(){$(this).find(".default-value-active").each(a.activate);return true});a.init()},activate:function(){var b=$(this);if(!b.attr("data-default-value")){b.attr("data-default-value",b.val())}if(b.val()==""){b.val("")}b.removeClass("default-value-active");return true},init:function(){$(".default-value").each(function(){var b=$(this);if(b.val()==""){b.clear()}})}}});truvo.view("DeleteForm",function(b){var a={load:function(c){if(!c){c=$('form[class^="destroy_"]')}this._submit=c.find(".delete-submit");this._reason=c.find("textarea");this._reason.keyup(this._onReasonChange);this._reason.blur(this._onReasonChange)},_onReasonChange:function(){if(b._reason.val().length>0){b._submit.removeClass("disabled")}else{b._submit.addClass("disabled")}}};return a});truvo.view("DropdownSelect",function(){return{load:function(){var a=function(d,c){if(c){d.removeClass("down").parents(".select-dropdown").find("> div").hide()}else{d.toggleClass("down").parents(".select-dropdown").find("> div").toggle()}};var b=$(".select-dropdown > a");b.click(function(c){b.each(function(){if(c.target!=this){a($(this),true)}});a($(this));return false})}}});truvo.view("Events",function(b){var a={activeFilters:{},load:function(){this._eventsBox=$("#events-box");this._filterPaginationLinks=$("#filter-box .pagination > a");this._initFilterLinks();this._initFilterOffLinks();b.activeFilters["filters[city_id]"]=$("#city_id-list .active").attr("data-filter-value")},_initFilterOffLinks:function(){$("#filter-box a.filter-off").live("click",function(f){var d=$(this);var c=d.attr("data-filter-type");delete b.activeFilters["filters["+c+"]"];$("#"+c+"-list .active").removeClass("active");d.addClass("active");b._reloadEventsBox();return false})},_initFilterLinks:function(){$(".filter-box-col li a").live("click",function(d){var c=$(this);if(c.parents("#city_id-list").length>0){b._updateLocationHeader(c)}b._setFilters(c);b._reloadEventsBox();return false})},_updateLocationHeader:function(c){$("#city-name").html(c.text().replace(/ \(\d+\)$/,""))},_setFilters:function(d){var c=d.attr("data-filter-type");d.parents("ul").find(".active").removeClass("active");$('.filter-off[data-filter-type="'+c+'"]').removeClass("active");d.addClass("active");b.activeFilters["filters["+c+"]"]=d.attr("data-filter-value");b._filterPaginationLinks.attr("href",function(){return this.href+"&"+$.param(b.activeFilters)})},_reloadEventsBox:function(){var c="/events?"+$.param(b.activeFilters);$.get(c,function(d){b._eventsBox.html(d)})}};return a});truvo.view("EventsDistanceSlider",function(a){var b={load:function(){this._slider=$("#events-distance-slider").slider({step:500,max:4000,stop:a._onChange});this._queryUrl=this._slider.attr("data-events-query-url");this._eventsList=$(".media-list.events").parents(".pagination-target")},_onChange:function(){var c=a._queryUrl;var d=a._slider.slider("option","value");if(d){c+="?filters[distance]="+d}a._slider.slider("disable");$.get(c,function(e){a._slider.slider("enable");a._eventsList.html(e)});return false}};return b});truvo.view("GoogleAnalyticsLinkTracker",function(){function c(j,i){if(!j||j.length<1){truvo.debug("[truvo.view.GoogleAnalyticsLinkTracker] "+i);return null}return j}function e(){return $(".X-track-clicks")}function a(i){return c($(i).attr("data-link-path"),"data-link-path is not set")}function h(i){return c($(i).attr("data-tracking-id"),"data-tracking-id is not set")}function f(){return c(window.pageTracker,"window.pageTracker is not set")}function g(i,j){return"/clicks/"+i+"/"+j}function d(m){var k=f();var j=a(m);var i=h(m);if(k&&j&&i){var l=g(i,j);k._trackPageview(l);truvo.debug("[truvo.view.GoogleAnalyticsLinkTracker] tracking link: "+l)}}function b(){e().live("click",function(){d($(this))})}return{load:b,onClick:d,makeTrackedPath:g,domAccess:{allLinks:e,linkPath:a,trackingId:h}}});truvo.view("GotoCityForm",function(a){return{load:function(){truvo.view.register("CitiesAutocomplete").load();a._form=$("#goto-city-form");a._field=$("#city_name");this._form.submit(function(){a._field.next().find(".ui-menu-item span").each(function(){var c=$(this);var d=a._field.val().toLowerCase();var b=c.html();if(d==b.toLowerCase()){a._field.disable();truvo.redirect(c.attr("rel"))}});return false})}}});truvo.view("GuideComments",function(a){truvo.require("JQueryExt");return{load:function(){a._commentsContainer=$(".guide-comments-list");a._commentForm=$(".new-guide-comment");if(truvo.user.isLoggedIn()){$("#button-add-comment").click(function(){a._commentForm.toggle();return false})}a._commentForm.find(".guide-comment-button").live("click",a._onCommentFormSubmit);a._commentForm.hide()},_onCommentFormSubmit:function(){var b=a._commentForm.find("textarea");b.get(0).value=$.trim(b.val());if(!b.val()){return false}$.ajax({url:a._commentForm.attr("action"),data:a._commentForm.serialize(),dataType:"html",type:"post",success:function(c){a._commentsContainer.prepend(c);b.clear();a._commentForm.find(".error-message").remove();a._commentForm.hide();a._updateCommentsCount()},error:function(c){a._commentForm.replaceWith(c.responseText);a._commentForm=$(".new-guide-comment")}});return false},_updateCommentsCount:function(){$(".comments-count").text(function(b,c){return parseInt(c)+1})}}});truvo.view("IETweaks",function(a){return{load:function(){truvo.dom.ieLayoutFix($(document.body),true)}}});truvo.view("MapControls",function(a){return{load:function(){$("#show-large-map-box .button").click(function(){window.open("http://maps.google.com/maps?t=a&q="+map.getCenter().toUrlValue(6)+"&z="+map.getZoom(),"_blank","width=960,height=600,toolbar=no,status=no,menubar=no,location=no");return false})}}});truvo.view("PlaceCategories",function(){return{load:function(){$(".view-all-categories").click(function(){var a=$(this).parents(".related");if(a.length==0){a=$(this).parents(".tags")}a.find("ul.extra").toggle();var b=$.trim($(this).text());$(this).text($(this).attr("data-reverse-label"));$(this).attr("data-reverse-label",b);return false})}}});truvo.view("PlaceMerging",function(m){function k(){return t($("table.three-way-merge"),"three way merge table")}function f(I){return t(I.find("tbody tr"),"merge table rows")}function e(I){return t($(I).find("td.merge-result"),"merge result cell")}function y(I){return t($(I).find("td.left-value .value"),"left value input")}function u(I){return t($(I).find("td.right-value .value"),"right value input")}function v(I){return t($(I).find("td.merge-result .value"),"merge result input")}function l(J){var I=v(J);if(!I){return null}return I.data("originalValue")}function w(J){var I=v(J);if(!I){return null}return I.data("originalValue",I.val())}function p(I){return t($(I).find("td.merge-result input.overwritten"),"overwritten input")}function E(I){return t($(I).find(".X-take-left"),"take left button")}function j(I){return t($(I).find(".X-take-right"),"take right button")}function r(I){return t($(I).find(".X-undo"),"undo button")}function x(I){return t($(I).find(".X-edit"),"edit button")}function n(I,J){if(I.length<1){truvo.debug("could not find "+J);return false}return true}function t(I,J){if(!n(I,J)){return null}else{return I}}function C(J){var I=p(J);return I&&I.val()==="1"}function q(K,J){var I=r(J);if(!I){return}I.each(function(){if(!K){$(this).hide()}else{$(this).show()}})}function F(K,J){var I=x(J);if(!I){return}I.each(function(){if(K){$(this).hide()}else{$(this).show()}})}function B(K,J){var I=v(J);if(I){I.attr("disabled",!K)}}function b(J,I){var K=e(I);if(K){$(K).toggleClass("overwritten",J)}}function D(I){var J=C(I);q(J,I);F(J,I);B(J,I);b(J,I)}function g(I,J){return function(M){var N=$(M).parents("tr");var K=p(N);var L=v(N);if(!(N&&K&&L)){return false}if(!J(M,N,K,L)){return false}$(K[0]).val("1");D(N);return false}}var A=g("X-take-left button",function(K,L,I,J){var M=y(L);if(!M){return false}J.val(M.val());return true});var d=g("X-take-right button",function(K,L,I,J){var M=u(L);if(!M){return false}J.val(M.val());return true});function o(K,I){var L=$(K).parents("tr");var J=p(L);if(!J){return false}J.val(I);D(L);return true}function a(J){var I=v(J);if(!I){return}I.val(l(J))}function z(I){return o(I,1)}function c(I){a($(I).parents("tr"));return o(I,0)}function H(I,J){if(!I){return}I.click(J)}function i(I){H(E(I),function(){return A(this)});H(j(I),function(){return d(this)});H(x(I),function(){return z(this)});H(r(I),function(){return c(this)})}function s(I){var K=y(I);var J=u(I);if(!(K&&J)){return}K.attr("disabled",true);J.attr("disabled",true)}function G(){var I=k();if(!I){return}var J=f(I);if(!J){return}J.each(function(){D(this);i(this);w(this);s(this)})}var h={load:G,onTakeLeft:A,onTakeRight:d,onEdit:z,onUndo:c,domAccess:{mergeTable:k,mergeTableRows:f,mergeResultCell:e,leftValueInput:y,rightValueInput:u,mergeResultInput:v,getOriginalValue:l,storeOriginalValue:w,hiddenOverwrittenInput:p,takeLeftButton:E,takeRightButton:j,undoButton:r,editButton:x}};return h});truvo.view("PlacesSearchCategories",function(a){return{load:function(){$("div.extra-cats, div.extra-parents").hide();var c=function(e,g){var f=+$(g).prev().is(":hidden");$(g).text(e[f]);$(g).prev().slideToggle("fast")};var b=["expand","collapse"];$("span.extra-cats-switch").click(function(){c(b,$(this))});var d=["more categories","less categories"];$("span.extra-parents-switch").click(function(){c(d,$(this))})}}});truvo.view("ShareButton",function(a){truvo.require("JQueryExt");return{load:function(){$(".share-button-menu").each(function(){$(document.body).append($(this).remove())});$(".share-button").live("click",function(){var c=$("#"+this.id.replace("share-button","share-button-menu"));var b=c.css("display")!="block";c.alignTo($(this).parent(),{marginY:5}).toggle(b);return false});$(".share-button-menu a").live("click",function(){$(this).parents(".share-button-menu").hide();return true});$(".share-button-menu .close").live("click",function(){$(this).parents(".share-button-menu").hide();return false});$('.share-button-menu .twitter-share[data-lightflow="true"]').attr("data-lightflow",false);$(".share-button-menu .twitter-share").live("click",function(){$(this).parents(".share-button-menu").hide();truvo.user.isTwitter()?truvo.Lightflow.showForm(this.href):window.open(this.href);return false});$(".share-button-menu .email-share").live("click",function(){truvo.Lightflow.showForm(this.href);return false})}}});truvo.view("SmallMap",function(){return{load:function(){var b=function(){truvo.panner.addMouseActions();truvo.panner.start()};if(!truvo.dom.isIE6()){b()}else{var a=function(){if($("#map").children().length>0){setTimeout(b,3000);return}setTimeout(a,1000)};setTimeout(a,1000)}}}});truvo.view("TabbedContent",function(){return{load:function(){truvo.ui.TabNav(".tabs",".tabbed-content .inner")}}});truvo.view("Tooltips",function(a){return{_tooltip:$("#tooltip"),_text:$("#tooltip .tooltip-text"),load:function(){if(!truvo.user.get("tooltips")){return}var b=$("span[tooltip]");b.live("mouseenter",function(d){var c=$(this);a._text.html(c.data("tooltip"));a._tooltip.alignTo(c,{marginX:-5,marginY:-5}).show()});b.live("mouseleave",function(c){a._tooltip.hide()});b.tooltip()}}});truvo.view("UserSettingsForm",function(){return{load:function(){var b=$("#user_new_follower_notifications, #user_flagged_notifications, #user_commented_notifications");var a=$("#send_notifications");a.attr("checked",b.is(":checked"));a.click(function(){b.attr("checked",a.is(":checked"))});$("form#user_settings").submit(function(g){var f=$(this);var c=f.find("#user_profile_birthday_1i, #user_profile_birthday_2i, #user_profile_birthday_3i");var d=$.inArray("",c.map(function(){return $(this).val()}))!=-1;if(d){c.val("")}return true})}}});truvo.view("UserTabbedContent",function(){return{load:function(){$("#tags .tab-proxy").click(function(a){$(document.body).scrollTo($("#user-profile-tabs"),500,{offset:-30,onAfter:function(){if(jQuery.browser.msie&&jQuery.browser.version=="6.0"){truvo.dom.positionLoading()}}});return false})}}});truvo.view("WebtrendsLinkTracker",function(a){truvo.view.loadBefore("Ajax","WebtrendsLinkTracker");truvo.view.loadBefore("Application","WebtrendsLinkTracker");return{load:function(){$('a[data-webtrends-track="true"]').live("click",function(b){a.runForLink($(this))})},runForLink:function(d){var c=d.attr("data-track-type");var e=d.attr("data-track-place");var b=d.attr("data-track-value");if(b.match("^#")){b=$(b).val()}a.runTrack(c,e,b)},runTrack:function(c,d,b){truvo.debug("[truvo.view.WebtrendsLinks] tracking link: "+[c,d,b]);dcsMultiTrack("DCSext.linktype",c,"DCSext.linkplace",d,"DCSext.linkvalue",b)},registerAjaxTracking:function(g){var f=g.attr("data-track-type");var c=g.attr("data-track-type-fail");var h=g.attr("data-track-place");var b=g.attr("data-track-value");var d=null;var e=function(){if(b.match("^#")){b=$(b).val()}a.runTrack(f,h,b);$("body").unbind("ajaxError",d);$("body").unbind("ajaxSuccess",e)};d=function(){if(b.match("^#")){b=$(b).val()}a.runTrack(c,h,b);$("body").unbind("ajaxError",d);$("body").unbind("ajaxSuccess",e)};$("body").ajaxSuccess(e);$("body").ajaxError(d)}}});