$.fn.fadeTo=function(a,d,c,b){return this.animate({opacity:a},d||250,c,b)};if(!window.console){window.console={log:function(){}}}function track_event(c,b,h){try{var a=undefined;if(c!="authentication"){a=window.user_logged_in?"signed_in":"not_signed_in"}var d=h?parseInt(h):undefined;pageTracker._trackEvent(c,b,a,d)}catch(g){console.log("track_event: JS error")}}function click_link_container(a){window.location=$(a).find("a:first").attr("href")}function show_page_cover(a){var b=$("body > div.page-cover");b.unbind("click");b.css("opacity",0.01);b.show();b.fadeTo(0.4,250);if(a){b.click(a)}}function hide_page_cover(){var a=$("body > div.page-cover");a.fadeTo(0,200,"linear",function(){a.hide()});a.unbind("click")}function draw_spinny_cover(b,c){var a=$('<div class="save-cover-spinny"></div>');if(c){a.css("background-color",c)}b.append(a);a.fadeTo(0.75,200);a.show();b.css("position","relative");return a}function hide_new_user_promo(){$("#new-user-promo").slideUp();$.cookie("hide_promo","true",{expires:365,path:"/"})}function maybe_suggest_username(a,b){if(b.attr("user_edited")){return}b.val(a.toLowerCase().replace(/ /g,""))}var check_username_timeout;var last_username="";function update_username(a){window.setTimeout(function(){if(last_username===a.value){return}last_username=a.value.toLowerCase();a.value=last_username;$("#username-available").hide();$("#username-notavailable").hide();$("#username-checking").hide();$("#username-url-tip").text("http://askr.com/"+(a.value||"username"));if(check_username_timeout){window.clearTimeout(check_username_timeout)}check_username_timeout=window.setTimeout(function(){check_username_availability(a.value)},300)},1)}var checking_username_busy=false;var last_checked_username_value=null;function check_username_availability(a){if(checking_username_busy){return}if(a==last_checked_username_value){return}last_checked_username_value=a;$("#username-available").hide();if(a.length<2){$("#username-notavailable").show().text("must be at least 2 letters");$("#username-checking").hide();return}$("#username-notavailable").hide();$("#username-checking").show();checking_username_busy=true;var b={username:a};post("/check_username",b,function(d){checking_username_busy=false;var c=$("#signup-form input[name=username]").val();if(d.username!=c){check_username_availability(c);return}if(d.available===true){$("#username-available").show();$("#username-notavailable").hide();$("#username-checking").hide()}else{$("#username-available").hide();$("#username-notavailable").html(d.reason);$("#username-notavailable").show();$("#username-checking").hide()}})}function close_signup_dialog(a){if($("#dialog-signin-div").is(":visible")){track_event("authentication","signin_cancel")}else{if($("#dialog-signup-div").is(":visible")){track_event("authentication","signup_cancel")}}$("#account-dialog").fadeOut(200);if(a!==false){hide_page_cover()}if(window.on_close_signup_dialog){window.on_close_signup_dialog()}}function forgot_password(){var b=$("#dialog-forgot-form input[name=email_or_username]").val();if(!b){$("#dialog-forgot-form .no-name-error").fadeIn();$("#dialog-forgot-form input[name=email_or_username]").focus();return}$("#dialog-forgot-spinny").show();var a={email_or_username:b};track_event("authentication","forgot_password_submit");post("/request_reset_password",a,function(c){$("#dialog-forgot-spinny").hide();$("#dialog-forgot-inputs").hide();$("#dialog-forgot-complete").show();if(!c.success){}else{}},function(){$("#dialog-forgot-spinny").hide()})}function require_login(b,a){if(window.user_logged_in){return b()}if(b){track_event("authentication","require_login")}open_account_dialog();switch_account_dialog(a?"signin":"signup");window.login_callback=b}function open_account_dialog(){var a=$("#account-dialog");show_page_cover(close_signup_dialog);a.show();if($.browser.msie){DD_roundies.addRule(".button","5px");if(parseFloat($.browser.version)<7){center_in_page(a)}}}function open_change_password_form(){open_account_dialog();switch_account_dialog("password")}function open_invite_friends(){track_event("friend","open_invite_friends");open_account_dialog();switch_account_dialog("invite");var b="Hey, you should try AskR.com";var a=make_absolute("/");var c=a+" - We can recommend good stuff to one another.\n";var g=$("#email-box-invite");var e=g.find("input[name=email_from]").val();var d=g.find(".mailto");if(e&&e.match(/.*@gmail\.com$/)){d.unbind("click");d.click(function(){track_event("friend","send_invite_using_mailto");post_via_gmail(b,c);return false})}else{d.unbind("click");d.click(function(){track_event("friend","send_invite_using_mailto")});d.attr("href","mailto:?subject="+encodeURIComponent(b)+"&body="+encodeURIComponent(c))}}function requires_login(b){var a;var c=function(){b.apply(this,a)};return function(){a=arguments;require_login(c,window.previously_signed_in)}}function center_in_page(d){var e=$(window).width();var c=d.outerWidth();d.css("left",(e-c)/2);var a=$(window).height();var b=d.outerHeight();var g=(a-b)/2;if($.browser.msie&&parseFloat($.browser.version)<7){g+=document.documentElement.scrollTop}d.css("top",g)}var objects_to_center=[];function keep_centered_in_page(a){if($.inArray(a[0],objects_to_center)==-1){objects_to_center.push(a[0])}center_in_page(a)}function submit_on_enter(a,c,b){a.unbind("keypress.submit_on_enter");a.bind("keypress.submit_on_enter",function(d){if(d.keyCode==13){mouse_x=a.offset().left+a.outerWidth()/2;mouse_y=a.offset().top;c();d.preventDefault();return false}if(d.keyCode==27&&b){b();d.preventDefault();return false}return true})}var mouse_x=-1;var mouse_y=-1;function record_mouse(a){mouse_x=a.pageX;mouse_y=a.pageY}function one_up(b){var a=$('<div class="one-up">mojo&nbsp;+'+b+"</div>");a.css("top",mouse_y-20);a.css("left",mouse_x-40);a.appendTo("body");a.animate({top:"-=20"},450,"linear",function(){a.animate({opacity:0.1,top:"-=20"},450,"linear",function(){a.remove();mouse_x=mouse_y=-1})})}function post(c,d,e,b){function a(k){if(k&&k.karma){$.each(k.karma,function(n,l){var m=$("."+n+"-karma");if(n===window.username&&m.size()>0&&mouse_x>=0&&mouse_y>=0){var o=l-Number(m.eq(0).text());if(o>0){one_up(o)}}m.text(l);m.each(function(q,r){var p=$(r);var s=p.css("backgroundColor");p.animate({backgroundColor:"#FFFAB0"},600,"linear",function(){p.animate({backgroundColor:s},1000,"linear")})})})}var g=null;if(e){g=e(k)}var h=$(".click-link");h.unbind("click.record_mouse");h.bind("click.record_mouse",record_mouse);return g}return $.ajax({type:"POST",url:c,data:d,dataType:"json",success:a,error:b})}function search_users(b){if(!b){track_event("friend","search_friend_finder")}var a=$("#search-users-input").val();$("#find-friend-search-spinny").show();post("/search_users",{q:a},function(c){if(c.success&&c.html){$("#find-friend-search-results").html(c.html);$("#find-friend-search-results .search-friend-result").slice(12).hide();if($("#find-friend-search-results .search-friend-result").size()===0){$("#find-friend-search-results").html('<div style="margin-top: 6px">No matching users.</div>')}}$("#find-friend-search-spinny").hide()},function(){$("#find-friend-search-spinny").hide()})}function facebook_require_permission(b,a){FB.ensureInit(function(){FB.Facebook.apiClient.users_hasAppPermission(b,function(c){if(c==0){FB.Connect.showPermissionDialog(b,a)}else{a(true)}})})}function public_key_encrypt(b){var a=new RSAPublicKey("9F25C21F","B8A3C406C72CC5F20871447B3DA54A13");return encryptedString(a,b)}function expand_gmail_sync(){track_event("friend","sync_gmail_initiate");$("#gmail-sync").slideDown();window.setTimeout(function(){$("#gmail-sync input[name=gp]").focus()},1);disable_button($("#gmail-button"))}function submit_gmail_sync(){track_event("friend","sync_gmail_submit");var a={gp:$.base64Encode(public_key_encrypt($("#gmail-sync input[name=gp]").val()))};a.ge=$("#gmail-sync input[name=ge]").val()||"";$("#gmail-sync-form-spinny").show();$("#gmail-unknown-error").hide();$("#gmail-password-error").hide();post("/sync_gmail_contacts",a,function(b){$("#gmail-sync-form-spinny").hide();if(b.success&&b.html){$("#gmail-contacts-stats").html(b.import_contact_stats);$("#gmail-username").html(b.username);$("#gmail-sync-results").html(b.html);$("#gmail-sync-form").hide();$("#gmail-sync-done").slideDown();if($("#gmail-sync-results .search-friend-result").size()===0){$("#gmail-sync-results").html('<div style="margin-top: 6px">No new GMail contacts found.</div>')}}else{if(b.message==="WrongPassword"){$("#gmail-password-error").slideDown()}else{if(b.message==="UnknownError"){$("#gmail-unknown-error").slideDown()}else{unexpected_error()}}}},function(){$("#gmail-sync-form-spinny").hide();unexpected_error()})}function expand_twitter_sync(){track_event("friend","sync_twitter_initiate");$("#twitter-sync").slideDown();window.setTimeout(function(){$("#twitter-sync input[name=tu]").focus()},1);disable_button($("#twitter-button"))}function submit_twitter_sync(){track_event("friend","sync_twitter_submit");var a={tu:$("#twitter-sync input[name=tu]").val()};$("#twitter-sync-form-spinny").show();$("#twitter-error").hide();post("/sync_twitter_contacts",a,function(b){$("#twitter-sync-form-spinny").hide();if(b.success&&b.html){$("#twitter-contacts-stats").html(b.import_contact_stats);$("#twitter-username").html(b.username);$("#twitter-sync-results").html(b.html);$("#twitter-sync-form").hide();$("#twitter-sync-done").slideDown();if($("#twitter-sync-results .search-friend-result").size()===0){$("#twitter-sync-results").html('<div style="margin-top: 6px">No new Twitter friends found.</div>')}}else{$("#twitter-error").slideDown()}},function(){$("#twitter-sync-form-spinny").hide();unexpected_error()})}function sync_facebook_friends(){track_event("friend","sync_fb_friends");if(fb_not_available()){return}if(!window.fb_connected){FB.Connect.requireSession(function(){window.fb_connected=true;sync_facebook_friends()},function(){},true);return}disable_button($("#facebook-button"));post("/sync_facebook_contacts",{},function(a){if(!a.success){alert("We had trouble getting in touch with facebook to sync your friends.\nPlease try again later.")}else{$("#facebook-sync-results").html(a.html);if($("#facebook-sync-results .search-friend-result").size()===0){$("#facebook-sync-results").html('<div style="margin-top: 6px">No new Facebook friends found.</div>')}$("#facebook-contacts-stats").html(a.import_contact_stats);$("#facebook-username").html(a.username);window.setTimeout(function(){$("#facebook-sync").slideDown()},1)}},function(){unexpected_error()})}function make_absolute(a,c){if(!a.match(/^http:/)){a="http://"+window.location.host+(a[0]=="/"?"":"/")+a}if(!window.user_logged_in||c){return a}var d=a.indexOf("#");var b="";if(d!=-1){b=a.slice(d);a=a.slice(0,d)}if(a.indexOf("?")==-1){a+="?ur="+window.username}else{a+="&ur="+window.username}return a+b}function open_popup(b,a,g){var d=a?a:800;var e=g?g:600;var c="location=1,resizable=1,toolbar=0,status=0,height="+e+", width="+d;window.open(b,"_blank",c)}function post_to_twitter(a,b,c,e){track_event("friend","post_to_twitter");b=make_absolute(b,e!="invite");var d=truncate(b+" - "+a+": "+c,139);var g="http://twitter.com/home?status="+encodeURIComponent(d);open_popup(g)}function fb_not_available(){if(!window.FB){if(window.fb_state=="failed"){alert("There are troubles connecting to Facebook.\n\nIt could be a temporary glitch, or Facebook could be blocked from your\ncurrent location.  You can try reloading the page and trying again.")}else{alert("We have not yet established a connection to Facebook.\n\nPlease wait a moment and try again.")}return true}return false}function post_to_facebook(d,b,k,h){track_event("friend","post_to_facebook");if(fb_not_available()){return}var l=h!=="quest";b=make_absolute(b);var e={name:d,href:b};if(k){e.description=k}var c="http://askr.com/img/"+(l?"rec":"quest")+"-icon.png";if(h=="invite"){c="http://askr.com/img/new-pink-octopus-30.png"}e.media=[{type:"image",src:c,href:b}];var m={text:"View More or Comment",href:b};if(l){m.text="Recommend or Comment"}var g=[m];var a="Hey, can anyone help?";if(l){a="Hey, check it out!"}FB.Connect.streamPublish(a,e,g)}function post_via_gmail(a,b){var c="https://mail.google.com/mail/?view=cm&fs=1&tf=1&to=&su="+encodeURIComponent(a)+"&body="+encodeURIComponent(b)+"&zx=RANDOMCRAP&shva=1&disablechatbrowsercheck=1&ui=1";open_popup(c)}function post_via_yahoo(a,b){var c="http://compose.mail.yahoo.com/?body="+escape(escape(b))+"&subject="+encodeURIComponent(escape(a));open_popup(c)}var needs_escape_re=/[&<>]/;function html_escape(a){if(a&&a.match(needs_escape_re)){return a.replace(/&/,"&amp;").replace(/</,"&lt;").replace(/>/,"&gt;")}return a}function post_to_email(c,d,b,m,g){b=make_absolute(b);var e=$("#share-email-"+c);var l=$("#email-box-"+c);var a=d;var k=b+"\n --- \n"+d+':\n"'+m+'"';var h=l.find(".mailto");if(g&&g.match(/.*@gmail\.com$/)){h.unbind("click");h.click(function(){track_event("friend","send_share_using_mailto");post_via_gmail(a,k);return false})}else{h.unbind("click");h.click(function(){track_event("friend","send_share_using_mailto")});h.attr("href","mailto:?subject="+encodeURIComponent(a)+"&body="+encodeURIComponent(k))}l.find("table").show();l.find(".success").hide();l.slideDown();window.setTimeout(function(){if(l.find("input[name=email_from]").val()){l.find("input[name=email_to]").focus()}else{l.find("input[name=email_name]").focus()}},100)}function send_another_email(a){var c=$("#email-box-"+a);c.find("table").show();c.find(".success").hide();var b=c.find("input[name=email_to],textarea[name=email_to]");b.val("");b.focus()}function send_invite_email(){track_event("friend","send_invite_email");send_promo_email("invite","invite","http://"+window.location.host)}var multi_email_regex=/^([0-9A-Za-z\+\._]+@[0-9a-z\-]+(\.[0-9a-z\-]+)+ *,? *)+$/i;function send_promo_email(k,b,a){a=make_absolute(a);var l=$("#email-box-"+k);var h=l.find("input[name=email_from]");var g=l.find("input[name=email_to],textarea[name=email_to]");var c=l.find("textarea[name=email_message]");if(!h.val().match(email_regex)){alert("Please specify your email address");h.focus();return}if(!g.val().match(multi_email_regex)){if(!g.val()){alert("Please specify the recipient's email address")}else{alert("The format of the recipient email addresses is not right.  It should be:\n    name@host.com\nor, for multiple recipients:\n    name@host.com, anotherfriend@anotherhost.com")}g.focus();return}l.find(".save-cover-spinny").show();var e=c.val();var d={};d.from=h.val();d.name=l.find("input[name=email_name]").val();d.to=g.val();d.body=e;d.url=a;d.subject=b;if(k=="quest"){d.quest_id=window.quest_id}else{if(k=="invite"){d.subject="invite"}else{d.rec_id=k}}post("/send_share_email",d,function(){l.find("table").hide();l.find(".success").show();l.find(".save-cover-spinny").hide()},function(){alert("Network error while sending email!\nPlease try again later.");l.find(".save-cover-spinny").hide()})}function truncate(b,a){if(b.length>a){return b.substr(0,a-2)+"..."}return b}function open_share_box(b,c){var a=$("#share-box-"+b);if(a.is(":visible")){if(!c){track_event("friend","close_share_box")}a.slideUp(300)}else{if(!c){track_event("friend","open_share_box")}a.slideDown(400)}}function maybe_submit_request(h){var a=$(h);var b=a.find("input[name=subject]").val();var g=a.find("textarea[name=details]");var d=g.val();var k=true;var c="";if(!g[0].cleared||d.length<25){if(!$("#quest-details-requirement").text().match(/you must write/)){$("#quest-details-requirement").css("color","#c00").append("; you must write a review for your friends!")}c="textarea[name=details]";k=false}if(b.length<2){$("#quest-subject-requirement").show();$("#search-suggestions").hide();c="input[name=subject]";k=false}if(k){if(!window.just_signed_in){var e=draw_spinny_cover($("#post_quest_div"))}window.setTimeout(function(){one_up(5);a.submit()},1)}else{a.find("input,.button").blur();a.find(c).focus();hide_page_cover()}return false}maybe_submit_request=requires_login(maybe_submit_request);function submit_settings(){track_event("edit","save_user_settings");var a={};a.email=$("#settings-table input[name=email]").val();a.display_name=$("#settings-table input[name=display_name]").val();a.location=$("#settings-table input[name=location]").val();$("#settings-table input[type=checkbox]").each(function(){if($(this).is(":checked")){a[$(this).attr("name")]="yes"}else{a[$(this).attr("name")]=""}});$("#settings-saved").hide();$("#settings-error").hide();post("/submit_settings",a,function(b){if(b.success){$("#settings-saved").fadeIn();if(b.location){$("#settings-table input[name=location]").val(b.location);$("#settings-table input[name=location]").css("border","2px solid gold")}}else{$("#settings-error").text("Save failed: "+b.error);$("#settings-error").fadeIn()}},function(){$("#settings-error").text("Failed to save settings (not sure why)");$("#settings-error").fadeIn()})}function open_location_change(a){a.returnValue=false;if(a.preventDefault){a.preventDefault()}a.cancelBubble=true;if(a.stopPropagation){a.stopPropagation()}$container=$("#user-location-details").parent();$container.css("height",$container.height()+"px");$("#user-location-details").hide();$("#change-location-div").show();$("#user-location-input").focus();$("#user-location-input").select();submit_on_enter($("#user-location-input"),change_location);return false}function cancel_change_location(){$("#user-location-details").show();$("#change-location-div").hide();$("#user-location-input").val($("#user-location-display").text())}function reload_search_page(){show_page_cover();window.location.href="/search?q="+encodeURIComponent($("#top-search-query").val())+"&search_within="+($("#search_within").attr("checked")?"on":"off")}function change_location(a){var b={location:$("#user-location-input").val()};post("/change_location",b,function(c){$("#user-location-input-spinny").hide();if(c.success){$("#user-location-display").text(c.name);if(window.change_location_callback){window.change_location_callback()}}else{alert(c.message);$("#user-location-input").focus()}},function(){$("#user-location-input-spinny").hide();alert("Network connection error.  Please try again later.")});$("#user-location-input-spinny").show()}function icon_url_for_letter(a,e){var d="66B8E3";var b="E15B92";var c="http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld="+a+"|"+(e?b:d)+"|000000";if($.browser.msie&&parseFloat($.browser.version)<7){c+="&ignore=.png"}return c}function maps_icon_for_letter(b){var a=new google.maps.Icon(G_DEFAULT_ICON);a.shadow="http://www.google.com/mapfiles/shadow50.png";a.iconSize=new GSize(20,34);a.shadowSize=new GSize(37,34);a.iconAnchor=new GPoint(9,34);a.infoWindowAnchor=new GPoint(9,2);var d=new google.maps.Icon(a);d.image=icon_url_for_letter(b);var c=new google.maps.Icon(a);c.image=icon_url_for_letter(b,true);return{icon:d,highlight:c}}function create_map(){var c=window.latitude||34;var a=window.longitude||-118.45;var b=new google.maps.LatLng(c,a);window.business_map=new google.maps.Map(document.getElementById("search-businesses-map"));window.business_map.setCenter(b,12);window.business_map.setUIToDefault()}function draw_businesses_map(m){var e=new google.maps.LatLngBounds();window.cached_images=[];$.each(m,function(o,n){var p=new google.maps.LatLng(n.latitude,n.longitude);e.extend(p)});var c=e.getNorthEast();var g=e.getSouthWest();var a=(c.lng()-g.lng())/15;var k=(c.lat()-g.lat())/15;var b=new google.maps.LatLng(g.lat()-k,g.lng()-a);var h=new google.maps.LatLng(c.lat()+k,c.lng()+a);var d=new google.maps.LatLngBounds(b,h);var l=window.business_map.getBoundsZoomLevel(d);window.business_map.setCenter(e.getCenter(),l)}function add_map_marker(b,a,c){var g=new google.maps.LatLng(b.latitude,b.longitude);var e=maps_icon_for_letter(a);window.cached_images.push($('<img src="'+e.highlight.image+'" />'));var d=new google.maps.Marker(g,{title:b.title,icon:e.icon});window.business_map.addOverlay(d);google.maps.Event.addListener(d,"mouseover",function(){d.setImage(e.highlight.image);c.addClass("lookup-result-hover")});google.maps.Event.addListener(d,"mouseout",function(){d.setImage(e.icon.image);c.removeClass("lookup-result-hover")});google.maps.Event.addListener(d,"click",function(){c.click()});return{marker:d,image:e}}function edit_business(){track_event("edit","business_open");var a=$("#edit-business");if(a.length===0){return}a.show();$("#view-business").hide()}function cancel_edit_business(){track_event("edit","business_cancel");$("#edit-business").hide();$("#view-business").show()}function save_business(){track_event("edit","business_save");var a={};a.business_id=window.business_id;a.biz_name=$("#edit-business input[name=biz_name]").val();a.location=$("#edit-business input[name=location]").val();a.phone=$("#edit-business input[name=phone]").val();a.email=$("#edit-business input[name=email]").val();a.url=$("#edit-business input[name=url]").val();$("#edit-business .save-cover-spinny").show();post("/save_business",a,function(e){if(e.success&&e.redirect){window.location.href=e.redirect;return}$("#edit-business .save-cover-spinny").hide();$("#page-dirty").attr("value","true");if(!e.success){alert("Unable to save business data.\n"+e.message);return}$("span.business-name").text(a.biz_name);$("div.business-location").text(a.location);var c=$("div.business-email");c.show();c.text(a.email);var d=$("div.business-phone");d.show();d.text(a.phone);var b=$("a.business-url");var g=a.url;if(g&&g.slice(0,7)!="http://"){g="http://"+g}b.attr("href",g);b.text(a.url);b.parent().show();$("#edit-business").hide();$("#view-business").show()},function(b){$("#edit-business .save-cover-spinny").hide();alert("Unable to save business data; try again later.")})}function edit_rec(a,b){track_event("edit","rec_open");if($("#edit-rec-"+a).length===0){return}$("#edit-rec-"+a).show();$("#view-rec-"+a).hide();window.setTimeout(function(){$("#edit-rec-"+a+" textarea").focus();if(b){scroll_into_view($("#edit-rec-"+a))}},1)}function cancel_edit_rec(a){track_event("edit","rec_cancel");$("#edit-rec-"+a).hide();$("#view-rec-"+a).show()}function save_recommendation(a){track_event("edit","rec_save");var b={};b.recommendation_id=a;b.details=$("#edit-rec-"+a+" textarea").val();b.biz_name=$("#edit-rec-"+a+" input[name=biz_name]").val();b.location=$("#edit-rec-"+a+" input[name=location]").val();b.phone=$("#edit-rec-"+a+" input[name=phone]").val();b.email=$("#edit-rec-"+a+" input[name=email]").val();b.url=$("#edit-rec-"+a+" input[name=url]").val();post("/save_recommendation",b,function(h){$("#page-dirty").attr("value","true");if(!h.success){alert("Unable to save your recommendation.\n"+h.message);return}var g=html_escape(b.details).replace(/\n/g,"<br />");$("#rec-"+a+" .rec-details").html(g);$("#rec-"+a+" .rec-business").text(b.biz_name);$("#rec-"+a+" .rec-business").attr("href",h.biz_url);$("#rec-"+a+"-info .business-location").text(b.location);var d=$("#rec-"+a+"-info .business-email");d.show();d.text(b.email);var e=$("#rec-"+a+"-info .business-phone");e.show();e.text(b.phone);var c=$("#rec-"+a+"-info a.business-url");var k=b.url;if(k&&k.slice(0,7)!="http://"){k="http://"+k}c.attr("href",k);c.text(b.url);c.show();$("#edit-rec-"+a).hide();$("#view-rec-"+a).show()},function(c){alert("ajax to save_recommendation failed")})}function enable_button(a){if(a.hasClass("disabled")){a.removeClass("disabled");if($.browser.msie){if(a[0].vmlBox){$(a[0].vmlBox).remove()}DD_roundies.roundify.call(a[0],[5,5,5,5])}}}function disable_button(a){if(!a.hasClass("disabled")){a.addClass("disabled");if($.browser.msie){if(a[0].vmlBox){$(a[0].vmlBox).remove()}DD_roundies.roundify.call(a[0],[5,5,5,5])}}}var MIN_REC_LENGTH=25;function update_rec_char_count(c,b,d){var a=c.val().length;if(a==0||!c[0].cleared){b.text(MIN_REC_LENGTH+" characters required");disable_button(d)}else{if(a<MIN_REC_LENGTH){b.text((MIN_REC_LENGTH-a)+" more characters required").css("color","#777");disable_button(d)}else{b.html("&nbsp;");enable_button(d)}}}function maybe_post_recommendation(d,a,g){var e=true;var b="";var c=$("textarea[name=details]");if(!c[0].cleared||c.val().length<25){if(!$("#rec-details-requirement").text().match(/you must write/)){$("#rec-details-requirement").css("color","#c00").append("; you must write a review for your friends!")}b="textarea[name=details]";e=false}if($("#post_rec input[name=location]").val().length<2){$("#rec-location-requirement").show();$("#location-explanation").hide();b="input[name=location]";e=false}if($("#post_rec input[name=biz_name]").val().length<2){$("#rec-biz-name-requirement").css("visibility","");b="input[name=biz_name]";e=false}if($("#post_rec input[name=subject]").size()>0&&$("#post_rec input[name=subject]").val().length<2){$("#rec-subject-requirement").show();$("#search-suggestions").hide();b="input[name=subject]";e=false}if(e){return post_recommendation(d,a,g)}else{$("#post_rec input,.button").blur();$("#post_rec "+b).focus()}}function post_recommendation(c,a,e){var d={};d.details=$("textarea[name=details]").val();d.biz_name=$("#post_rec input[name=biz_name]").val();d.location=$("#post_rec input[name=location]").val();d.phone=$("#post_rec input[name=phone]").val();d.email=$("#post_rec input[name=email]").val();d.url=$("#post_rec input[name=url]").val();d.quest_id=$("#post_rec input[name=quest_id]").val();if($("#post_rec input[name=subject]").size()>0){d.subject=$("#post_rec input[name=subject]").val()}d.extra=$("#post_rec input[name=extra]").val();d[a]=true;if(!window.just_signed_in){var b=draw_spinny_cover($("#post_rec_div"))}have_searched_businesses=false;post("/submit_recommendation",d,function(h){$("#page-dirty").attr("value","true");if(!h.success){track_event("interact","submit_rec_error");alert(h.message);b.remove();return}track_event("interact","submit_rec_success");$("#post_rec input[type=text]").val("");$("#post_rec textarea").val("").blur().keypress();if(h.next_url){window.location=h.next_url;return}var k=$(h.html);k.hide();$("#recs").append(k);window.setTimeout(function(){k.slideDown();scroll_into_view(k)},800);var g=Number($("#rec-count").text())||0;$("#rec-count").text(g+1);if(window.just_signed_in){window.location.reload()}else{b.remove()}hide_lookup_promo()},function(g){unexpected_error();b.remove()})}post_recommendation=requires_login(post_recommendation);function scroll_into_view(l,a,h){var n=l.offset().top;var c=n+l.height();var b=$("body").scrollTop()>$("html").scrollTop();var e=b?$("body"):$("html");var g=e.scrollTop();var m=$(window).height();var d=g+m;var k=0;if(n<g){k=n}else{if(c>d){k=Math.min(n,c-m)}}if(k){$("html, body").animate({scrollTop:k},a,undefined,h)}}function change_password(){var a=$("#dialog-password-div");var e={};e.username=a.find("input[name=username]").val();var c=a.find("input[name=password]").val();e.old_password=sha1Hash(sha1Hash(c));var d=a.find("input[name=new_password]").val();e.new_password=sha1Hash(sha1Hash(d));if(c===""){a.find(".no-old-password-error").fadeIn();a.find("input,.button").blur();a.find("input[name=password]").focus();return false}if(d===""){a.find(".no-password-error").fadeIn();a.find("input,.button").blur();a.find("input[name=new_password]").focus();return false}var b=draw_spinny_cover($("#dialog-password-form"),"#f6f6f6");post("/change_password",e,function(g){if(!g.success){b.remove();track_event("authentication","change_password_error");a.find(".password-incorrect").show();a.find("input[name=new_password]").blur();a.find("input[name=password]").val("").focus()}else{b.remove();track_event("authentication","change_password_success");a.find(".success-message").show();window.setTimeout(close_signup_dialog,1500)}},function(){b.remove();alert("Network error! Please try again.")});return false}function do_signin(){var a=$("#dialog-signin-div");var d={};d.email_or_username=a.find("input[name=email_or_username]").val();var b=a.find("input[name=password]").val();d.password=sha1Hash(sha1Hash(b));d.ajax=true;if(d.email_or_username===""){a.find(".no-name-error").fadeIn();a.find("input,.button").blur();a.find("input[name=email_or_username]").focus();return false}if(b===""){a.find(".no-password-error").fadeIn();a.find("input,.button").blur();a.find("input[name=password]").focus();return false}var c=draw_spinny_cover($("#dialog-signin-form"),"#f6f6f6");post("/submit_signin",d,function(e){if(!e.success){c.remove();track_event("authentication","signin_error");a.find(".password-incorrect").show();a.find("input[name=email_or_username]").blur();a.find("input[name=password]").val("").focus()}else{track_event("authentication","signin_success");window.user_logged_in=true;close_signup_dialog(false);if(window.login_callback){window.just_signed_in=true;window.login_callback()}else{window.location.reload()}}},function(){c.remove();track_event("authentication","signin_error");alert("Network error while trying to sign in.\nPlease try again.")});return false}function do_signout(){var a={};post("/signout",a,function(){window.history.go(0)})}function modify_ask_href(b,a){if(a[0].cleared){b.href="/ask?q="+a.val()}}function cover_link(a){a.each(function(){var b=$('<div class="magic-cover"/>');var c=$(this);b.css("left",c.offset().left+"px");b.css("top",c.offset().top+"px");b.css("width",c.outerWidth()+"px");b.css("height",c.outerHeight()+"px");$("body").append(b)})}function remove_link_cover(a){$(".magic-cover").remove()}function handle_follow_response(b){remove_link_cover();$("#page-dirty").attr("value","true");$(".follow-spinny-"+b.username).hide();$(".unfollow-spinny-"+b.username).hide();if(b.success){if(b.following){$(".follow-"+b.username+":not(.search-friend-result)").hide();$(".unfollow-"+b.username).show();if(window.friends_page){$("#friends-you-follow").prepend(b.html);$(".search-friend-result.follow-"+b.username).addClass("followed").fadeOut(500,function(){var c=$("#find-friend-search-results .search-friend-result:not(.followed)").slice(11,12);c.fadeIn(500)});$("#friends-you-follow .nobody-promo").hide()}var a=$("#followers-div-"+b.username);if(a.size()>0){a.append('<div id="current-user-following"><a href="/'+window.username+'">'+window.display_name+"</a></div>")}}else{$(".follow-"+b.username).removeClass("followed").show();$(".unfollow-"+b.username).hide();if(window.friends_page){$("#friends-leader-"+b.username).hide();$("#find-friend-search-results .search-friend-result:visible").slice(12).hide()}$("#current-user-following").remove()}if(window.just_signed_in){window.location.reload()}}else{alert("update_relationship failed!")}}function update_relationship(b,a){if(a=="follow"){track_event("friend","follow");window.found_friends=true}else{track_event("friend","unfollow")}var c={};c.username=b;c.status=a;post("/update_relationship",c,handle_follow_response,function(){alert("Network error! Please check your connection and try again");remove_link_cover();$(".follow-spinny-"+b).hide();$(".unfollow-spinny-"+b).hide()});$(".follow-spinny-"+b).show();$(".unfollow-spinny-"+b).show();cover_link($(".follow-"+b).add(".unfollow-"+b))}update_relationship=requires_login(update_relationship);function show_comment_box(a){track_event("interact","open_comment_box");$("#"+a+"-comment-form").show();var b=$("#"+a+"-comment-text");submit_on_enter(b,function(){post_comment(a)});b.focus();$("#"+a+"-add-comment-button").hide()}function hide_comment_box(a){$("#"+a+"-comment-form").hide();$("#"+a+"-add-comment-button").show()}function post_comment(b){var g=$("#"+b+"-comment-text");var e=g.val();if(e===""){track_event("interact","submit_comment_error");alert("Please enter a comment.");g.focus();return false}var d={};d.text=e;$("#"+b+"-spinny").show();cover_link($("#"+b+"-comment-form").find(".click-link"));track_event("interact","submit_comment_success");var c=function(k){remove_link_cover();$("#page-dirty").attr("value","true");var h=$(k.html);h.hide();$("#comments-"+b).append(h);h.slideDown();hide_comment_box(b);g.val("");$("#"+b+"-spinny").hide();if(window.just_signed_in){window.location.reload()}};var a=function(){unexpected_error();$("#"+b+"-spinny").hide();remove_link_cover()};if(window.quest_id){d.quest_id=window.quest_id}if(b){d.recommendation_id=b;post("/comment_on_recommendation",d,c,a)}else{post("/comment_on_quest",d,c,a)}}post_comment=requires_login(post_comment);function delete_comment(a){if(confirm("Are you sure you want to delete your comment?\nIt's permanent.")){post("/delete_comment",{comment_id:a});$("#comment-"+a).slideUp()}}function update_agree(a,d){var c={};c.opinion=d;if(d!="agree"&&d!="not agree"){alert("opinion value invalid: "+d)}track_event("interact",(d==="agree"?"agree":"unagree"));var b="#rec-"+a;if($("#big-rec-bottom").size()>0){b=".rec-responses"}c.recommendation_id=a;post("/update_agree",c,function(e){remove_link_cover();$("#page-dirty").attr("value","true");if(e.success){$("#agree-block-"+a).html(e.html);if(e.opinion=="agree"){$(b+" .agree-link").hide();$(b+" .unagree-link").show()}else{$(b+" .agree-link").show();$(b+" .unagree-link").hide()}}$("#agree-block-"+a).fadeTo(1,300);if(window.just_signed_in){window.location.reload()}},function(){remove_link_cover()});$("#agree-block-"+a).fadeTo(0.3,200);cover_link($(b).find(".unagree-link, .agree-link"))}update_agree=requires_login(update_agree);function update_track(b,a){var c={};c.action=a;if(a!="track"&&a!="untrack"){alert("action value invalid: "+a);return}track_event("interact",(a==="track"?"track":"untrack"));c.quest_id=b;post("/update_track",c,function(d){remove_link_cover();$("#page-dirty").attr("value","true");if(d.success){$("#track-block").html(d.html);if(d.state=="track"){$(".track-link").hide();$(".untrack-link").show()}else{$(".track-link").show();$(".untrack-link").hide()}}$("#track-block").fadeTo(1,300);if(window.just_signed_in){window.location.reload()}},function(){remove_link_cover()});$("#track-block").fadeTo(0.3,200);cover_link($(".untrack-link, .track-link"))}update_track=requires_login(update_track);function edit_quest(){track_event("edit","quest_open");if($("#edit-quest").length===0){return}$("#edit-quest").show();$("#view-quest-top").hide();$("#view-quest-bottom").hide();window.setTimeout(function(){$("#quest-subject-edit").focus();$("#quest-subject-edit").select()},1)}function cancel_edit_quest(){track_event("edit","quest_cancel");$("#edit-quest").hide();$("#view-quest-top").show();$("#view-quest-bottom").show()}function save_quest(){track_event("edit","quest_save");var a={};a.subject=$("#quest-subject-edit").val();a.location=$("#quest-location-edit").val();a.details=$("#quest-details-edit").val();a.quest_id=window.quest_id;post("/submit_request",a,function(c){$("#page-dirty").attr("value","true");if(!c.success){alert("Unable to save your changes! Oh noes!");return}$("#view-quest-top .quest-subject").text(a.subject);$("#view-quest-top .quest-location .content").text(a.location);var b=html_escape(a.details).replace(/\n/g,"<br />");$("#view-quest-bottom .quest-details .content").html(b);$("#edit-quest").hide();$("#view-quest-top").show();$("#view-quest-bottom").show();$("#edit-quest .save-cover-spinny").hide()});$("#edit-quest .save-cover-spinny").show()}function edit_big_rec(){track_event("edit","big_rec_open");var a=$("#big-rec-bottom .big-rec-details").get(0).offsetHeight-28;a=Math.max(70,a);$("#big-rec-details-edit").css("height",a+"px");$("#big-rec-top").hide();$("#big-rec-bottom").hide();$("#edit-big-rec-top").css("display","inline-block");$("#edit-big-rec-bottom").css("display","inline-block");window.setTimeout(function(){$("#big-rec-subject-edit").focus()},1)}function cancel_edit_big_rec(){track_event("edit","big_rec_cancel");$("#edit-big-rec-top").hide();$("#edit-big-rec-bottom").hide();$("#big-rec-top").show();$("#big-rec-bottom").show()}function save_big_rec(){track_event("edit","big_rec_save");var a={};a.recommendation_id=window.rec_id;a.subject=$("#big-rec-subject-edit").val();a.details=$("#big-rec-details-edit").val();a.biz_name=$("#edit-big-rec-top input[name=biz_name]").val();a.location=$("#edit-big-rec-bottom input[name=location]").val();a.email=$("#edit-big-rec-bottom input[name=email]").val();a.phone=$("#edit-big-rec-bottom input[name=phone]").val();a.url=$("#edit-big-rec-bottom input[name=url]").val();post("/save_recommendation",a,function(g){if(!g.success){alert("save_recommendation returned success=false\n"+g.message);return}$("#big-rec-top .big-rec-business").text(a.biz_name);$("#big-rec-top .big-rec-business").attr("href",g.biz_url);$("#big-rec-top .big-rec-subject").text(a.subject);var e=html_escape(a.details).replace(/\n/g,"<br />");$("#big-rec-bottom .big-rec-details .content").html(e);$("#big-rec-bottom .business-location").text(a.location);var d=$("#big-rec-bottom .business-phone");if(a.phone){d.show()}else{d.hide()}d.text(a.phone);var c=$("#big-rec-bottom .business-email");if(a.email){c.show()}else{c.hide()}c.text(a.email);var b=$("#big-rec-bottom a.business-url");var h=a.url;if(h){if(h.slice(0,7)!="http://"){h="http://"+h}b.attr("href",h);b.show()}else{b.hide()}b.text(a.url);$("#edit-big-rec-top").hide();$("#edit-big-rec-bottom").hide();$("#big-rec-top").show();$("#big-rec-bottom").show();$(".save-cover-spinny").hide()},function(b){alert("ajax to save_recommendation failed")});$(".save-cover-spinny").show()}function delete_big_rec(){alert("TODO: allow delete big rec")}function close_business_lookup(a){if(!a){track_event("interact","business_lookup_cancel")}$("#business-lookup").fadeOut(200);hide_page_cover()}var have_searched_businesses;function lookup_business(){show_page_cover(close_business_lookup);$("input, .button").blur();hide_lookup_promo();track_event("interact","business_lookup_open");var a=$("#post_rec");var c=a.find("input[name=biz_name]").val();var d=$("input[name=biz_name_search]");d.val(c);var b=a.find("input[name=location]").val();if(b){$("input[name=biz_location_search]").val(b)}submit_on_enter(d,search_businesses);submit_on_enter($("input[name=biz_location_search]"),search_businesses);$("#business-lookup").fadeIn(250);keep_centered_in_page($("#business-lookup"));d.focus();if(c){search_businesses()}}function lookup_business_url(a){post("/lookup_business_url",{google_url:a},function(b){if(b.url){toggle_more_business_info("+");$("#post_rec input[name=url]").val(b.url)}})}function add_business_result(d,b){var a=String.fromCharCode("A".charCodeAt(0)+d);var c=$("#lookup-result-template").clone();c.attr("id","lookup-result-"+d);c.find(".biz-result-letter").html(a);c.find(".biz-result-title").html(b.title_html);c.find(".biz-result-address").text(b.address);c.click(function(){if(b.extra&&b.extra.google_url){lookup_business_url(b.extra.google_url)}var g=$("#post_rec");g.find("input[name=url]").val("");track_event("interact","business_lookup_select");g.find("input[name=biz_name]").val(b.title);g.find("input[name=location]").val(b.address);if(b.contacts.length){g.find("input[name=phone]").val(b.contacts[0].value);toggle_more_business_info("+")}if(b.extra){g.find("input[name=extra]").val($.toJSON(b.extra))}$("#rec-biz-name-requirement").css("visibility","hidden");$("input,.button").blur();$("#rec-details").focus();close_business_lookup(true)});var e=add_map_marker(b,a,c);c.hover(function(){e.marker.setImage(e.image.highlight.image);$(this).addClass("lookup-result-hover")},function(){e.marker.setImage(e.image.icon.image);$(this).removeClass("lookup-result-hover")});c.show();$("#search-businesses").append(c)}var SPINNY_HTML='<div style="text-align:center; padding: 80px 0"><img src="/img/spinny_medium.gif" /></div>';function search_businesses(){track_event("interact","business_lookup_search");have_searched_businesses=true;var a={};a.biz_name=$("input[name=biz_name_search]").val()||"*";a.location=$("input[name=biz_location_search]").val();$("#search-businesses-spinny").show();post("/lookup_businesses",a,function(b){$("#search-businesses-spinny").hide();$("#search-businesses-instructions").hide();$("#search-businesses").empty();if(b.businesses.length){$("#search-businesses-stock").show();$("#search-businesses-no-results").hide();$("#search-businesses-map").show();create_map();draw_businesses_map(b.businesses)}else{$("#search-businesses-stock").hide();$("#search-businesses-no-results").show();$("#search-businesses-map").hide()}$.each(b.businesses,add_business_result);center_in_page($("#business-lookup"))})}function switch_account_dialog(a){if(a=="signup"){$("#dialog-signup-div").show();$("#dialog-signin-div").hide();$("#dialog-forgot-div").hide();$("#dialog-password-div").hide();$("#dialog-invite-div").hide();$("#dialog-signup-div input[name=fullname]").focus()}else{if(a=="signin"){$("#dialog-signup-div").hide();$("#dialog-forgot-div").hide();$("#dialog-signin-div").show();$("#dialog-password-div").hide();$("#dialog-invite-div").hide();$("#dialog-signin-div input[name=email_or_username]").focus()}else{if(a=="forgot"){track_event("authentication","forgot_password_open");$("#dialog-forgot-div input[name=email_or_username]").val($("#dialog-signin-form input[name=email_or_username]").val());$("#dialog-signup-div").hide();$("#dialog-forgot-div").show();$("#dialog-signin-div").hide();$("#dialog-password-div").hide();$("#dialog-invite-div").hide();$("#dialog-forgot-div input[name=email_or_username]").focus()}else{if(a=="password"){$("#dialog-signup-div").hide();$("#dialog-forgot-div").hide();$("#dialog-signin-div").hide();$("#dialog-password-div").show();$("#dialog-invite-div").hide();$("#dialog-password-div input[name=password]").focus()}else{if(a=="invite"){$("#dialog-signup-div").hide();$("#dialog-forgot-div").hide();$("#dialog-signin-div").hide();$("#dialog-password-div").hide();$("#dialog-invite-div").show();$("#dialog-invite-div textarea:first").focus()}}}}}}function fade_errors(a){$(a).parent().find(".signup-error-message").fadeOut()}var email_regex=/^[0-9A-Za-z\+\._]+@[0-9a-z\-]+(\.[0-9a-z\-]+)+$/i;function signup_submit(){var a=$("#dialog-signup-div");var d={};d.fullname=a.find("input[name=fullname]").val();d.email=a.find("input[name=email]").val();d.username=a.find("input[name=username]").val();var b=a.find("input[name=password]").val();d.password=sha1Hash(sha1Hash(b));if(d.fullname===""){a.find(".no-name-error").fadeIn();a.find("input,.button").blur();a.find("input[name=fullname]").focus();return false}if(d.email===""){a.find(".no-email-error").fadeIn();a.find("input,.button").blur();a.find("input[name=email]").focus();return false}if(!email_regex.test(d.email)){a.find(".invalid-email-error").fadeIn();a.find("input,.button").blur();a.find("input[name=email]").select();a.find("input[name=email]").focus();return false}if(d.username===""){alert("Please provide a username.");a.find("input,.button").blur();a.find("input[name=username]").focus();return false}if(d.username.length<2){a.find("input,.button").blur();a.find("input[name=username]").focus();return false}if($("#username-notavailable:visible").length>0){a.find("input,.button").blur();a.find("input[name=username]").select();a.find("input[name=username]").focus();return false}if(b===""){a.find(".no-password-error").fadeIn();a.find("input,.button").blur();a.find("input[name=password]").focus();return false}var c=draw_spinny_cover($("#signup-form"),"#f6f6f6");post("/submit_signup",d,function(e){if(e.success){track_event("authentication","signup_success");window.user_logged_in=true;close_signup_dialog(false);if(window.login_callback){window.just_signed_in=true;window.login_callback()}else{if(window.is_homepage){window.location.href="/friends"}else{window.location.reload()}}}else{c.remove();track_event("authentication","signup_error");alert(e.error);a.find("input,.button").blur();a.find("input[name="+e.highlight_field+"]").select();a.find("input[name="+e.highlight_field+"]").focus()}},function(e){c.remove();track_event("authentication","signup_error");alert("Network error while trying to sign up.\nPlease try again.")});return false}function dismiss_quest(a){track_event("interact","dismiss_quest");$("#quest-promo-box .quest-"+a).slideUp();post("/dismiss_quest",{quest_id:a})}function delete_rec(a){var b={};b.rec_id=a;post("/delete_rec",b,function(e){$("#page-dirty").attr("value","true");if(e.success){var c=$("#rec-"+a);var d=$('<div id="rec_deleted_message_'+a+'">Your recommendation has been deleted. <div onclick="restore_rec('+a+')" class="click-link">[undo]</div></div>');d.css("height",c.get(0).offsetHeight+"px");d.insertAfter(c);c.hide()}else{alert(e.error)}},function(c){});return false}function delete_quest(a){var b={};b.quest_id=a;post("/delete_quest",b,function(e){$("#page-dirty").attr("value","true");if(e.success){var c=$("#quest-"+a);var d=$('<div id="quest_deleted_message_'+a+'">Your request has been deleted. <div onclick="restore_quest('+a+')" class="click-link">[undo]</div></div>');d.css("height",c.get(0).offsetHeight+"px");d.insertAfter(c);c.hide()}else{alert(e.error)}},function(c){});return false}function restore_rec(a){var b={};b.rec_id=a;post("/restore_rec",b,function(e){$("#page-dirty").attr("value","true");if(e.success){var c=$("#rec-"+a);var d=$("#rec_deleted_message_"+a);d.remove();c.show()}else{alert(e.error)}},function(c){});return false}function restore_quest(a){var b={};b.quest_id=a;post("/restore_quest",b,function(e){$("#page-dirty").attr("value","true");if(e.success){var c=$("#quest-"+a);var d=$("#quest_deleted_message_"+a);d.remove();c.show()}else{alert(e.error)}},function(c){});return false}function toggle_rec_info(b){var a=$("#rec-"+b);if(a.find(".info-toggler").text()=="[+]"){track_event("interact","open_rec_business_info");$("#rec-"+b+"-info").slideDown();a.find(".info-toggler").text("[-]")}else{track_event("interact","close_rec_business_info");$("#rec-"+b+"-info").slideUp();a.find(".info-toggler").text("[+]")}}function toggle_more_business_info(a){var b=$("#more_business_info_toggler").text();if(b.charAt(0)=="+"||a=="+"){$("#more_business_info").slideDown();$("#more_business_info_toggler").text(b.replace("+","-"))}else{$("#more_business_info").slideUp();$("#more_business_info_toggler").text(b.replace("-","+"))}}function click_rec_prompt(){scroll_into_view($("#post_rec_div"),300,function(){$("#post_rec").find("input[name=biz_name]").focus()})}function switch_to_user_tab(a){if(!a){return}$("#current_user_tab").val(a);$(".events-container").hide();$("#events-user_events_"+a).show();$(".filter-bar-item").removeClass("selected");$("#filter-bar-"+a).addClass("selected")}function click_event(b,a,c){b=b||window.event;$("#event-new-"+c).val("no");if($(b.target).hasClass("click-link")){b.stopPropagation();b.preventDefault();return false}}function lb_click(a){window.location.href="/"+a}function hide_event(g){track_event("interact","hide_event");var b=$(this).attr("event_id");var a=$("#event-"+b);var h=a.parents(".events-container");var k=$("#"+h.attr("id")+"-hide-link");if(k.text()==="show hidden"){a.find(".event-div").slideUp();$events_container=h.find(".events");$events_container.css("height",$events_container.height()+"px");$next_event=h.find(".pagination-next-event .event").eq(0);$next_event.hide();$next_event.appendTo($events_container);$next_event.slideDown();var d=h.attr("id").slice(7);var c=h.attr("page");paginate_events(d,c,false,true,b)}else{a.addClass("hidden");a.find(".event-div").animate({backgroundColor:"#eee"},600,"linear",function(){a.find(".event-div").css("backgroundColor","")});post("/hide_event",{event_hide_id:b},function(){})}k.fadeIn();$("#page-dirty").val("true");g.stopPropagation();g.preventDefault();return false}function unhide_event(c){track_event("interact","unhide_event");var b=$(this).attr("event_id");var a=$("#event-"+b);a.removeClass("hidden");a.find(".event-div").animate({backgroundColor:"#fff"},600,"linear",function(){a.find(".event-div").css("backgroundColor","")});post("/unhide_event",{event_unhide_id:b},function(){});$("#page-dirty").val("true");c.stopPropagation();c.preventDefault();return false}function unexpected_error(){alert("Sorry! We are currently experiencing technical difficulties.\n\nPlease try again in a few moments.")}window.fb_state=0;function load_fb(){window.fb_state++;if(window.FB){window.fb_state="initing";FB.init(window.FB_KEY,"/xd_receiver.htm");FB.ensureInit(function(){FB.Connect.get_status().waitUntilReady(function(a){window.fb_state="done";switch(a){case FB.ConnectState.connected:window.fb_connected=true;window.fb_logged_in=true;break;case FB.ConnectState.appNotAuthorized:window.fb_connected=false;window.fb_logged_in=true;break;case FB.ConnectState.userNotLoggedIn:window.fb_connected=false;window.fb_logged_in=false}})})}else{if(window.fb_state<20){window.setTimeout(load_fb,100)}else{window.fb_state="failed"}}}function bind_click_enter_space(a,b){a.click(b);a.keypress(function(c){if(c.keyCode===13||c.keyCode===32||c.charCode===32){b();return false}})}$.fn.slideIn=function(e,c){var b=this;var a=$("<div />");a.css("position","relative");a.css("top",(-this.height())+"px");b.css("overflow","hidden");a.append(this.children());b.append(a);a.animate({top:"0px"},e);function d(){b.append(a.children());a.remove();if(c){c()}}return this.slideDown(e,d)};function highlight_search(a){$("#top-search-query").focus();$("#search-promo").slideIn(800);$("#top-search-query").keypress(hide_search_promo);$("body").click(hide_search_promo);a.cancelBubble=true;if(a.stopPropagation){a.stopPropagation()}}function hide_search_promo(){$("#search-promo").fadeOut();$("body").unbind("click",hide_search_promo);$("#top-search-query").unbind("keypress",hide_search_promo)}var suppress_lookup_promo=false;function show_lookup_promo(){if(!suppress_lookup_promo){$("#lookup-promo").fadeIn("slow")}}function hide_lookup_promo(){suppress_lookup_promo=true;$("#lookup-promo").fadeOut()}function toggle_mojo_breakdown(c){var a=$("#mojo-breakdown-toggler-"+c);var b=$("#mojo-breakdown-"+c);var d=$("#mojo-breakdown-inner-"+c);if(a.text()==="[+]"){if(d.html()===""){track_event("interact","view_mojo_breakdown");post("/mojo_breakdown",{user_id:c},function(e){if(e.success){d.html(e.html);b.slideDown()}},function(){unexpected_error()})}else{b.slideDown()}a.text("[-]")}else{b.slideUp();a.text("[+]")}}function paginate_events(m,l,a,c,e){var b=$("#events-"+m);var n=c?null:draw_spinny_cover(b);cover_link(b.find(".pagination-control"));var k=$("#events-"+m+"-hide-link");var d=(k.size()>0)&&(k.text()==="suppress hidden");var h=false;if(a){h=!d;track_event("paginate",(h?"show":"suppress")+"_hidden_events_"+m);cover_link(k)}else{h=d;if(e===undefined){track_event("paginate",m+"_page_"+l)}}var g={section:m,page:l,show_hidden:h};if(e){g.event_hide_id=e}if(window.user_page_username){g.username=window.user_page_username}post("/paginate_events",g,function(o){if(n){n.remove()}remove_link_cover();if(o.success&&o.html){b.replaceWith($(o.html));window.setTimeout(function(){$("#events-storage-"+m).val($("#events-"+m).html())},1);b=$("#events-"+m);b.find(".hide-event").click(hide_event);b.find(".unhide-event").click(unhide_event);if(a){k.text(h?"suppress hidden":"show hidden")}}else{unexpected_error()}},function(){if(n){n.remove()}remove_link_cover();unexpected_error()})}function next_tip(){var a=$(".promo-tip-container:visible").hide();var b=a.next(".promo-tip-container").show();if(b.size()===0){$(".promo-tip-container:first").show()}$(".promo-tip-pagination").appendTo("#tip-promo")}$(document).ready(function(){window.setTimeout(load_fb,100);if($.browser.msie){DD_roundies.addRule(".button","5px")}submit_on_enter($("#search-users-input"),search_users,close_signup_dialog);var d=$("#account-dialog");var k=$("#dialog-signup-div");k.submit(signup_submit);bind_click_enter_space($("#dialog-signup-div .submit"),signup_submit);submit_on_enter($("#dialog-signup-div input[name=password]"),signup_submit,close_signup_dialog);$("#dialog-signin-form").submit(do_signin);bind_click_enter_space($("#dialog-signin-form .submit"),do_signin);submit_on_enter($("#dialog-signin-div input"),do_signin,close_signup_dialog);$("#dialog-password-form").submit(change_password);bind_click_enter_space($("#dialog-password-form .submit"),change_password);submit_on_enter($("#dialog-password-div input"),change_password,close_signup_dialog);keep_centered_in_page(d);d.find(".close-dialog").click(close_signup_dialog);bind_click_enter_space(d.find(".cancel"),close_signup_dialog);var l=k.find("input[name=username]");l.keydown(function(m){$(this).attr("user_edited","1");update_username(this)});k.find("input[name=fullname]").keydown(function(n){var m=this;window.setTimeout(function(){maybe_suggest_username(m.value,l)},1)}).blur(function(){update_username(l[0])});bind_click_enter_space($("#lookup-business-button"),lookup_business);function e(){$.each(objects_to_center,function(m,n){center_in_page($(n))})}$(window).resize(e);var a=$("input[type=text]").add("input[type=password]").add("textarea");a.focus(function(){$(this).addClass("focused-input")});a.blur(function(){$(this).removeClass("focused-input")});var g=$(".button");g.focus(function(){$(this).addClass("focused-button")});g.blur(function(){$(this).removeClass("focused-button")});submit_on_enter($("div.signin-div input"),function(){$("#signin-form").submit()});$(".comment-input").each(function(){var m=$(this);submit_on_enter(m,function(){post_comment(m.attr("rec_id"))})});var b=$("#mojo-link");var c=$("#mojo-link-explain");var h;b.hover(function(){b.attr("is_hover","yes");clearTimeout(h);h=window.setTimeout(function(){if(b.attr("is_hover")){c.fadeIn()}},1000)},function(){b.attr("is_hover","no");clearTimeout(h);h=window.setTimeout(function(){if(b.attr("is_hover")=="no"){c.fadeOut()}},1000)});bind_click_enter_space($("#search-business-search-button"),search_businesses);$(".hide-event").click(hide_event);$(".click-link").bind("click.record_mouse",record_mouse);$(".button").bind("click.record_mouse",record_mouse);$("#feedback-tab").hover(function(){$(this).addClass("feedback-red-on-black");$(this).removeClass("feedback-white-on-black")},function(){$(this).removeClass("feedback-red-on-black");$(this).addClass("feedback-white-on-black")});$(".new-event").each(function(){if($(this).find("input").val()=="yes"){$(this).show()}})});jQuery.autocomplete=function(c,w){var s=this;var B=$(c).attr("autocomplete","off");if(w.inputClass){B.addClass(w.inputClass)}var t=document.createElement("div");var I=$(t);I.hide().addClass(w.resultsClass).css("position","absolute");if(w.width>0){I.css("width",w.width)}$("body").append(t);c.autocompleter=s;var h=null;var A="";var l=-1;var n={};var E=false;var p=false;var a=null;function C(){n={};n.data={};n.length=0}C();if(w.data!=null){var u="",P={},q=[];if(typeof w.url!="string"){w.cacheLength=1}for(var N=0;N<w.data.length;N++){q=((typeof w.data[N]=="string")?[w.data[N]]:w.data[N]);if(q[0].length>0){u=q[0].substring(0,1).toLowerCase();if(!P[u]){P[u]=[]}P[u].push(q)}}for(var M in P){w.cacheLength++;e(M,P[M])}}B.keydown(function(k){a=k.keyCode;switch(k.keyCode){case 38:k.preventDefault();m(-1);break;case 40:k.preventDefault();m(1);break;case 9:case 13:if(H()){B.get(0).blur();k.preventDefault()}break;default:l=-1;if(h){clearTimeout(h)}h=setTimeout(function(){x()},w.delay);break}}).focus(function(){p=true}).blur(function(){p=false;d()});v();function x(){if(a==46||(a>8&&a<32)){return I.hide()}var k=B.val();if(k==A){return}A=k;if(k.length>=w.minChars){B.addClass(w.loadingClass);F(k)}else{B.removeClass(w.loadingClass);I.hide()}}function m(Q){var k=$("li",t);if(!k){return}l+=Q;if(l<0){l=0}else{if(l>=k.size()){l=k.size()-1}}k.removeClass("ac_over");$(k[l]).addClass("ac_over")}function H(){var k=$("li.ac_over",t)[0];if(!k){var Q=$("li",t);if(w.selectOnly){if(Q.length==1){k=Q[0]}}else{if(w.selectFirst){k=Q[0]}}}if(k){y(k);return true}else{return false}}function y(k){if(!k){k=document.createElement("li");k.extra=[];k.selectValue=""}var Q=$.trim(k.selectValue?k.selectValue:k.innerHTML);c.lastSelected=Q;A=Q;I.html("");B.val(Q);v();if(w.onItemSelect){setTimeout(function(){w.onItemSelect(k)},1)}}function b(S,Q){var R=B.get(0);if(R.createTextRange){var k=R.createTextRange();k.collapse(true);k.moveStart("character",S);k.moveEnd("character",Q);k.select()}else{if(R.setSelectionRange){R.setSelectionRange(S,Q)}else{if(R.selectionStart){R.selectionStart=S;R.selectionEnd=Q}}}R.focus()}function z(k){if(a!=8){B.val(B.val()+k.substring(A.length));b(A.length,k.length)}}function G(){var Q=o(c);var k=(w.width>0)?w.width:B.width();I.css({width:parseInt(k)+"px",top:(Q.y+c.offsetHeight)+"px",left:Q.x+"px"}).show()}function d(){if(h){clearTimeout(h)}h=setTimeout(v,200)}function v(){if(h){clearTimeout(h)}B.removeClass(w.loadingClass);if(I.is(":visible")){I.hide()}if(w.mustMatch){var k=B.val();if(k!=c.lastSelected){y(null)}}}function K(Q,k){if(k){B.removeClass(w.loadingClass);t.innerHTML="";if(!p||k.length==0){return v()}if($.browser.msie){I.append(document.createElement("iframe"))}t.appendChild(g(k));if(w.autoFill&&(B.val().toLowerCase()==Q.toLowerCase())){z(k[0][0])}G()}else{v()}}function L(S){if(!S){return null}var Q=[];var R=S.split(w.lineSeparator);for(var k=0;k<R.length;k++){var T=$.trim(R[k]);if(T){Q[Q.length]=T.split(w.cellSeparator)}}return Q}function g(V){var U=document.createElement("ul");var S=V.length;if((w.maxItemsToShow>0)&&(w.maxItemsToShow<S)){S=w.maxItemsToShow}for(var T=0;T<S;T++){var W=V[T];if(!W){continue}var Q=document.createElement("li");if(w.formatItem){Q.innerHTML=w.formatItem(W,T,S);Q.selectValue=W[0]}else{Q.innerHTML=W[0];Q.selectValue=W[0]}var k=null;if(W.length>1){k=[];for(var R=1;R<W.length;R++){k[k.length]=W[R]}}Q.extra=k;U.appendChild(Q);$(Q).hover(function(){$("li",U).removeClass("ac_over");$(this).addClass("ac_over");l=$("li",U).indexOf($(this).get(0))},function(){$(this).removeClass("ac_over")}).click(function(X){X.preventDefault();X.stopPropagation();y(this)})}return U}function F(Q){if(!w.matchCase){Q=Q.toLowerCase()}var k=w.cacheLength?O(Q):null;if(k){K(Q,k)}else{if((typeof w.url=="string")&&(w.url.length>0)){$.get(r(Q),function(R){R=L(R);e(Q,R);K(Q,R)})}else{B.removeClass(w.loadingClass)}}}function r(R){var k=w.url+"?q="+encodeURI(R);for(var Q in w.extraParams){k+="&"+Q+"="+encodeURI(w.extraParams[Q])}return k}function O(V){if(!V){return null}if(n.data[V]){return n.data[V]}if(w.matchSubset){for(var T=V.length-1;T>=w.minChars;T--){var Q=V.substr(0,T);var W=n.data[Q];if(W){var U=[];for(var R=0;R<W.length;R++){var k=W[R];var S=k[0];if(D(S,V)){U[U.length]=k}}return U}}}return null}function D(R,Q){if(!w.matchCase){R=R.toLowerCase()}var k=R.indexOf(Q);if(k==-1){return false}return k==0||w.matchContains}this.flushCache=function(){C()};this.setExtraParams=function(k){w.extraParams=k};this.findValue=function(){var Q=B.val();if(!w.matchCase){Q=Q.toLowerCase()}var k=w.cacheLength?O(Q):null;if(k){J(Q,k)}else{if((typeof w.url=="string")&&(w.url.length>0)){$.get(r(Q),function(R){R=L(R);e(Q,R);J(Q,R)})}else{J(Q,null)}}};function J(V,U){if(U){B.removeClass(w.loadingClass)}var S=(U)?U.length:0;var Q=null;for(var T=0;T<S;T++){var W=U[T];if(W[0].toLowerCase()==V.toLowerCase()){Q=document.createElement("li");if(w.formatItem){Q.innerHTML=w.formatItem(W,T,S);Q.selectValue=W[0]}else{Q.innerHTML=W[0];Q.selectValue=W[0]}var k=null;if(W.length>1){k=[];for(var R=1;R<W.length;R++){k[k.length]=W[R]}}Q.extra=k}}if(w.onFindValue){setTimeout(function(){w.onFindValue(Q)},1)}}function e(Q,k){if(!k||!Q||!w.cacheLength){return}if(!n.length||n.length>w.cacheLength){C();n.length++}else{if(!n[Q]){n.length++}}n.data[Q]=k}function o(Q){var R=Q.offsetLeft||0;var k=Q.offsetTop||0;while(Q=Q.offsetParent){R+=Q.offsetLeft;k+=Q.offsetTop}return{x:R,y:k}}};jQuery.fn.autocomplete=function(a,b,c){b=b||{};b.url=a;b.data=((typeof c=="object")&&(c.constructor==Array))?c:null;b.inputClass=b.inputClass||"ac_input";b.resultsClass=b.resultsClass||"ac_results";b.lineSeparator=b.lineSeparator||"\n";b.cellSeparator=b.cellSeparator||"|";b.minChars=b.minChars||1;b.delay=b.delay||400;b.matchCase=b.matchCase||0;b.matchSubset=b.matchSubset||1;b.matchContains=b.matchContains||0;b.cacheLength=b.cacheLength||1;b.mustMatch=b.mustMatch||0;b.extraParams=b.extraParams||{};b.loadingClass=b.loadingClass||"ac_loading";b.selectFirst=b.selectFirst||false;b.selectOnly=b.selectOnly||false;b.maxItemsToShow=b.maxItemsToShow||-1;b.autoFill=b.autoFill||false;b.width=parseInt(b.width,10)||0;this.each(function(){var d=this;new jQuery.autocomplete(d,b)});return this};jQuery.fn.autocompleteArray=function(b,a){return this.autocomplete(null,a,b)};jQuery.fn.indexOf=function(b){for(var a=0;a<this.length;a++){if(this[a]==b){return a}}return -1};(function(c){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var d=function(e){e=e.replace(/\x0d\x0a/g,"\x0a");var g="";for(var k=0;k<e.length;k++){var h=e.charCodeAt(k);if(h<128){g+=String.fromCharCode(h)}else{if((h>127)&&(h<2048)){g+=String.fromCharCode((h>>6)|192);g+=String.fromCharCode((h&63)|128)}else{g+=String.fromCharCode((h>>12)|224);g+=String.fromCharCode(((h>>6)&63)|128);g+=String.fromCharCode((h&63)|128)}}}return g};var b=function(e){var h="";var g=0;var k=c1=c2=0;while(g<e.length){k=e.charCodeAt(g);if(k<128){h+=String.fromCharCode(k);g++}else{if((k>191)&&(k<224)){c2=e.charCodeAt(g+1);h+=String.fromCharCode(((k&31)<<6)|(c2&63));g+=2}else{c2=e.charCodeAt(g+1);c3=e.charCodeAt(g+2);h+=String.fromCharCode(((k&15)<<12)|((c2&63)<<6)|(c3&63));g+=3}}}return h};c.extend({base64Encode:function(h){var g="";var p,n,l,q,o,m,k;var e=0;h=d(h);while(e<h.length){p=h.charCodeAt(e++);n=h.charCodeAt(e++);l=h.charCodeAt(e++);q=p>>2;o=((p&3)<<4)|(n>>4);m=((n&15)<<2)|(l>>6);k=l&63;if(isNaN(n)){m=k=64}else{if(isNaN(l)){k=64}}g=g+a.charAt(q)+a.charAt(o)+a.charAt(m)+a.charAt(k)}return g},base64Decode:function(h){var g="";var p,n,l;var q,o,m,k;var e=0;h=h.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(e<h.length){q=a.indexOf(h.charAt(e++));o=a.indexOf(h.charAt(e++));m=a.indexOf(h.charAt(e++));k=a.indexOf(h.charAt(e++));p=(q<<2)|(o>>4);n=((o&15)<<4)|(m>>2);l=((m&3)<<6)|k;g=g+String.fromCharCode(p);if(m!=64){g=g+String.fromCharCode(n)}if(k!=64){g=g+String.fromCharCode(l)}}g=b(g);return g}})})(jQuery);jQuery.cookie=function(a,m,l){if(typeof m!="undefined"){l=l||{};if(m===null){m="";l.expires=-1}var e="";if(l.expires&&(typeof l.expires=="number"||l.expires.toUTCString)){var b;if(typeof l.expires=="number"){b=new Date();b.setTime(b.getTime()+(l.expires*24*60*60*1000))}else{b=l.expires}e="; expires="+b.toUTCString()}var o=l.path?"; path="+(l.path):"";var c=l.domain?"; domain="+(l.domain):"";var k=l.secure?"; secure":"";document.cookie=[a,"=",encodeURIComponent(m),e,o,c,k].join("")}else{var h=null;if(document.cookie&&document.cookie!=""){var n=document.cookie.split(";");for(var d=0;d<n.length;d++){var g=jQuery.trim(n[d]);if(g.substring(0,a.length+1)==(a+"=")){h=decodeURIComponent(g.substring(a.length+1));break}}}return h}};(function($){$.toJSON=function(o){if(window.JSON&&JSON.stringify){return JSON.stringify(o)}var type=typeof(o);if(o===null){return"null"}if(type=="undefined"){return undefined}if(type=="number"||type=="boolean"){return o+""}if(type=="string"){return $.quoteString(o)}if(type=="object"){if(typeof o.toJSON=="function"){return $.toJSON(o.toJSON())}if(o.constructor===Date){var month=o.getUTCMonth()+1;if(month<10){month="0"+month}var day=o.getUTCDate();if(day<10){day="0"+day}var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10){hours="0"+hours}var minutes=o.getUTCMinutes();if(minutes<10){minutes="0"+minutes}var seconds=o.getUTCSeconds();if(seconds<10){seconds="0"+seconds}var milli=o.getUTCMilliseconds();if(milli<100){milli="0"+milli}if(milli<10){milli="0"+milli}return'"'+year+"-"+month+"-"+day+"T"+hours+":"+minutes+":"+seconds+"."+milli+'Z"'}if(o.constructor===Array){var ret=[];for(var i=0;i<o.length;i++){ret.push($.toJSON(o[i]))}return"["+ret.join(",")+"]"}var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number"){name='"'+k+'"'}else{if(type=="string"){name=$.quoteString(k)}else{continue}}if(typeof o[k]=="function"){continue}var val=$.toJSON(o[k]);pairs.push(name+":"+val)}return"{"+pairs.join(", ")+"}"}};$.evalJSON=function(src){if(window.JSON&&JSON.parse){return JSON.parse(src)}return eval("("+src+")")};$.secureEvalJSON=function(src){if(window.JSON&&JSON.parse){return JSON.parse(src)}var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,"@");filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]");filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,"");if(/^[\],:{}\s]*$/.test(filtered)){return eval("("+src+")")}else{throw new SyntaxError("Error parsing JSON, source is not valid.")}};$.quoteString=function(string){if(_escapeable.test(string)){return'"'+string.replace(_escapeable,function(a){var c=_meta[a];if(typeof c==="string"){return c}c=a.charCodeAt();return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)})+'"'}return'"'+string+'"'};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var _meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"}})(jQuery);var DD_roundies={ns:"DD_roundies",IE6:false,IE7:false,IE8:false,IEversion:function(){if(document.documentMode!=8&&document.namespaces&&!document.namespaces[this.ns]){this.IE6=true;this.IE7=true}else{if(document.documentMode==8){this.IE8=true}}},querySelector:document.querySelectorAll,selectorsToProcess:[],imgSize:{},createVmlNameSpace:function(){if(this.IE6||this.IE7){document.namespaces.add(this.ns,"urn:schemas-microsoft-com:vml")}if(this.IE8){document.writeln('<?import namespace="'+this.ns+'" implementation="#default#VML" ?>')}},createVmlStyleSheet:function(){var a=document.createElement("style");document.documentElement.firstChild.insertBefore(a,document.documentElement.firstChild.firstChild);if(a.styleSheet){try{var c=a.styleSheet;c.addRule(this.ns+"\\:*","{behavior:url(#default#VML)}");this.styleSheet=c}catch(b){}}else{this.styleSheet=a}},addRule:function(b,a,c){if(typeof a=="undefined"||a===null){a=0}if(a.constructor.toString().search("Array")==-1){a=a.toString().replace(/[^0-9 ]/g,"").split(" ")}for(var e=0;e<4;e++){a[e]=(!a[e]&&a[e]!==0)?a[Math.max((e-2),0)]:a[e]}if(this.styleSheet){if(this.styleSheet.addRule){var d=b.split(",");for(var e=0;e<d.length;e++){this.styleSheet.addRule(d[e],"behavior:expression(DD_roundies.roundify.call(this, ["+a.join(",")+"]))")}}else{if(c){var g=a.join("px ")+"px";this.styleSheet.appendChild(document.createTextNode(b+" {border-radius:"+g+"; -moz-border-radius:"+g+";}"));this.styleSheet.appendChild(document.createTextNode(b+" {-webkit-border-top-left-radius:"+a[0]+"px "+a[0]+"px; -webkit-border-top-right-radius:"+a[1]+"px "+a[1]+"px; -webkit-border-bottom-right-radius:"+a[2]+"px "+a[2]+"px; -webkit-border-bottom-left-radius:"+a[3]+"px "+a[3]+"px;}"))}}}else{if(this.IE8){this.selectorsToProcess.push({selector:b,radii:a})}}},readPropertyChanges:function(a){switch(event.propertyName){case"style.border":case"style.borderWidth":case"style.padding":this.applyVML(a);break;case"style.borderColor":this.vmlStrokeColor(a);break;case"style.backgroundColor":case"style.backgroundPosition":case"style.backgroundRepeat":this.applyVML(a);break;case"style.display":a.vmlBox.style.display=(a.style.display=="none")?"none":"block";break;case"style.filter":this.vmlOpacity(a);break;case"style.zIndex":a.vmlBox.style.zIndex=a.style.zIndex;break}},applyVML:function(a){a.runtimeStyle.cssText="";this.vmlFill(a);this.vmlStrokeColor(a);this.vmlStrokeWeight(a);this.vmlOffsets(a);this.vmlPath(a);this.nixBorder(a);this.vmlOpacity(a)},vmlOpacity:function(c){if(c.currentStyle.filter.search("lpha")!=-1){var b=c.currentStyle.filter;b=parseInt(b.substring(b.lastIndexOf("=")+1,b.lastIndexOf(")")),10)/100;for(var a in c.vml){c.vml[a].filler.opacity=b}}},vmlFill:function(d){if(!d.currentStyle){return}else{var c=d.currentStyle}d.runtimeStyle.backgroundColor="";d.runtimeStyle.backgroundImage="";var a=(c.backgroundColor=="transparent");var e=true;if(c.backgroundImage!="none"||d.isImg){if(!d.isImg){d.vmlBg=c.backgroundImage;d.vmlBg=d.vmlBg.substr(5,d.vmlBg.lastIndexOf('")')-5)}else{d.vmlBg=d.src}var g=this;if(!g.imgSize[d.vmlBg]){var b=document.createElement("img");b.attachEvent("onload",function(){this.width=this.offsetWidth;this.height=this.offsetHeight;g.vmlOffsets(d)});b.className=g.ns+"_sizeFinder";b.runtimeStyle.cssText="behavior:none; position:absolute; top:-10000px; left:-10000px; border:none;";b.src=d.vmlBg;b.removeAttribute("width");b.removeAttribute("height");document.body.insertBefore(b,document.body.firstChild);g.imgSize[d.vmlBg]=b}d.vml.image.filler.src=d.vmlBg;e=false}d.vml.image.filled=!e;d.vml.image.fillcolor="none";d.vml.color.filled=!a;d.vml.color.fillcolor=c.backgroundColor;d.runtimeStyle.backgroundImage="none";d.runtimeStyle.backgroundColor="transparent"},vmlStrokeColor:function(a){a.vml.stroke.fillcolor=a.currentStyle.borderColor},vmlStrokeWeight:function(c){var d=["Top","Right","Bottom","Left"];c.bW={};for(var a=0;a<4;a++){c.bW[d[a]]=parseInt(c.currentStyle["border"+d[a]+"Width"],10)||0}},vmlOffsets:function(c){var h=["Left","Top","Width","Height"];for(var g=0;g<4;g++){c.dim[h[g]]=c["offset"+h[g]]}var b=function(k,d){k.style.left=(d?0:c.dim.Left)+"px";k.style.top=(d?0:c.dim.Top)+"px";k.style.width=c.dim.Width+"px";k.style.height=c.dim.Height+"px"};for(var a in c.vml){var e=(a=="image")?1:2;c.vml[a].coordsize=(c.dim.Width*e)+", "+(c.dim.Height*e);b(c.vml[a],true)}b(c.vmlBox,false);if(DD_roundies.IE8){c.vml.stroke.style.margin="-1px";if(typeof c.bW=="undefined"){this.vmlStrokeWeight(c)}c.vml.color.style.margin=(c.bW.Top-1)+"px "+(c.bW.Left-1)+"px"}},vmlPath:function(g){var b=function(x,t,q,l,v,s,n){var m=x?["m","qy","l","qx","l","qy","l","qx","l"]:["qx","l","qy","l","qx","l","qy","l","m"];v*=n;s*=n;t*=n;q*=n;var p=l.slice();for(var o=0;o<4;o++){p[o]*=n;p[o]=Math.min(t/2,q/2,p[o])}var u=[m[0]+Math.floor(0+v)+","+Math.floor(p[0]+s),m[1]+Math.floor(p[0]+v)+","+Math.floor(0+s),m[2]+Math.ceil(t-p[1]+v)+","+Math.floor(0+s),m[3]+Math.ceil(t+v)+","+Math.floor(p[1]+s),m[4]+Math.ceil(t+v)+","+Math.ceil(q-p[2]+s),m[5]+Math.ceil(t-p[2]+v)+","+Math.ceil(q+s),m[6]+Math.floor(p[3]+v)+","+Math.ceil(q+s),m[7]+Math.floor(0+v)+","+Math.ceil(q-p[3]+s),m[8]+Math.floor(0+v)+","+Math.floor(p[0]+s)];if(!x){u.reverse()}var y=u.join("");return y};if(typeof g.bW=="undefined"){this.vmlStrokeWeight(g)}var k=g.bW;var a=g.DD_radii.slice();var e=b(true,g.dim.Width,g.dim.Height,a,0,0,2);a[0]-=Math.max(k.Left,k.Top);a[1]-=Math.max(k.Top,k.Right);a[2]-=Math.max(k.Right,k.Bottom);a[3]-=Math.max(k.Bottom,k.Left);for(var d=0;d<4;d++){a[d]=Math.max(a[d],0)}var c=b(false,g.dim.Width-k.Left-k.Right,g.dim.Height-k.Top-k.Bottom,a,k.Left,k.Top,2);var h=b(true,g.dim.Width-k.Left-k.Right+1,g.dim.Height-k.Top-k.Bottom+1,a,k.Left,k.Top,1);g.vml.color.path=c;g.vml.image.path=h;g.vml.stroke.path=e+c;this.clipImage(g)},nixBorder:function(c){var b=c.currentStyle;var d=["Top","Left","Right","Bottom"];for(var a=0;a<4;a++){c.runtimeStyle["padding"+d[a]]=(parseInt(b["padding"+d[a]],10)||0)+(parseInt(b["border"+d[a]+"Width"],10)||0)+"px"}c.runtimeStyle.border="none"},clipImage:function(a){var g=DD_roundies;if(!a.vmlBg||!g.imgSize[a.vmlBg]){return}var d=a.currentStyle;var e={X:0,Y:0};var o=function(p,b){var c=true;switch(b){case"left":case"top":e[p]=0;break;case"center":e[p]=0.5;break;case"right":case"bottom":e[p]=1;break;default:if(b.search("%")!=-1){e[p]=parseInt(b,10)*0.01}else{c=false}}var q=(p=="X");e[p]=Math.ceil(c?((a.dim[q?"Width":"Height"]-(a.bW[q?"Left":"Top"]+a.bW[q?"Right":"Bottom"]))*e[p])-(g.imgSize[a.vmlBg][q?"width":"height"]*e[p]):parseInt(b,10));e[p]+=1};for(var k in e){o(k,d["backgroundPosition"+k])}a.vml.image.filler.position=(e.X/(a.dim.Width-a.bW.Left-a.bW.Right+1))+","+(e.Y/(a.dim.Height-a.bW.Top-a.bW.Bottom+1));var n=d.backgroundRepeat;var h={T:1,R:a.dim.Width+1,B:a.dim.Height+1,L:1};var m={X:{b1:"L",b2:"R",d:"Width"},Y:{b1:"T",b2:"B",d:"Height"}};if(n!="repeat"){h={T:(e.Y),R:(e.X+g.imgSize[a.vmlBg].width),B:(e.Y+g.imgSize[a.vmlBg].height),L:(e.X)};if(n.search("repeat-")!=-1){var l=n.split("repeat-")[1].toUpperCase();h[m[l].b1]=1;h[m[l].b2]=a.dim[m[l].d]+1}if(h.B>a.dim.Height){h.B=a.dim.Height+1}}a.vml.image.style.clip="rect("+h.T+"px "+h.R+"px "+h.B+"px "+h.L+"px)"},pseudoClass:function(b){var a=this;setTimeout(function(){a.applyVML(b)},1)},reposition:function(a){this.vmlOffsets(a);this.vmlPath(a)},roundify:function(g){this.style.behavior="none";if(!this.currentStyle){return}else{var c=this.currentStyle}var p={BODY:false,TABLE:false,TR:false,TD:false,SELECT:false,OPTION:false,TEXTAREA:false};if(p[this.nodeName]===false){return}var o=this;var k=DD_roundies;this.DD_radii=g;this.dim={};var d={resize:"reposition",move:"reposition"};if(this.nodeName=="A"){var b={mouseleave:"pseudoClass",mouseenter:"pseudoClass",focus:"pseudoClass",blur:"pseudoClass"};for(var l in b){d[l]=b[l]}}for(var e in d){this.attachEvent("on"+e,function(){k[d[e]](o)})}this.attachEvent("onpropertychange",function(){k.readPropertyChanges(o)});var n=function(a){a.style.zoom=1;if(a.currentStyle.position=="static"){a.style.position="relative"}};n(this.offsetParent);n(this);this.vmlBox=document.createElement("ignore");this.vmlBox.runtimeStyle.cssText="behavior:none; position:absolute; margin:0; padding:0; border:0; background:none;";this.vmlBox.style.zIndex=c.zIndex;this.vml={color:true,image:true,stroke:true};for(var m in this.vml){this.vml[m]=document.createElement(k.ns+":shape");this.vml[m].filler=document.createElement(k.ns+":fill");this.vml[m].appendChild(this.vml[m].filler);this.vml[m].stroked=false;this.vml[m].style.position="absolute";this.vml[m].style.zIndex=c.zIndex;this.vml[m].coordorigin="1,1";this.vmlBox.appendChild(this.vml[m])}this.vml.image.fillcolor="none";this.vml.image.filler.type="tile";this.parentNode.insertBefore(this.vmlBox,this);this.isImg=false;if(this.nodeName=="IMG"){this.isImg=true;this.style.visibility="hidden"}setTimeout(function(){k.applyVML(o)},1)}};try{document.execCommand("BackgroundImageCache",false,true)}catch(err){}DD_roundies.IEversion();DD_roundies.createVmlNameSpace();DD_roundies.createVmlStyleSheet();if(DD_roundies.IE8&&document.attachEvent&&DD_roundies.querySelector){document.attachEvent("onreadystatechange",function(){if(document.readyState=="complete"){var b=DD_roundies.selectorsToProcess;var a=b.length;var g=function(l,m,k){setTimeout(function(){DD_roundies.roundify.call(l,m)},k*100)};for(var d=0;d<a;d++){var c=document.querySelectorAll(b[d].selector);var h=c.length;for(var e=0;e<h;e++){if(c[e].nodeName!="INPUT"){g(c[e],b[d].radii,e)}}}}})}function BarrettMu(a){this.modulus=biCopy(a);this.k=biHighIndex(this.modulus)+1;var b=new BigInt();b.digits[2*this.k]=1;this.mu=biDivide(b,this.modulus);this.bkplus1=new BigInt();this.bkplus1.digits[this.k+1]=1;this.modulo=BarrettMu_modulo;this.multiplyMod=BarrettMu_multiplyMod;this.powMod=BarrettMu_powMod}function BarrettMu_modulo(k){var h=biDivideByRadixPower(k,this.k-1);var e=biMultiply(h,this.mu);var d=biDivideByRadixPower(e,this.k+1);var c=biModuloByRadixPower(k,this.k+1);var l=biMultiply(d,this.modulus);var b=biModuloByRadixPower(l,this.k+1);var a=biSubtract(c,b);if(a.isNeg){a=biAdd(a,this.bkplus1)}var g=biCompare(a,this.modulus)>=0;while(g){a=biSubtract(a,this.modulus);g=biCompare(a,this.modulus)>=0}return a}function BarrettMu_multiplyMod(a,c){var b=biMultiply(a,c);return this.modulo(b)}function BarrettMu_powMod(b,g){var e=new BigInt();e.digits[0]=1;var c=b;var d=g;while(true){if((d.digits[0]&1)!=0){e=this.multiplyMod(e,c)}d=biShiftRight(d,1);if(d.digits[0]==0&&biHighIndex(d)==0){break}c=this.multiplyMod(c,c)}return e}var biRadixBase=2;var biRadixBits=16;var bitsPerDigit=biRadixBits;var biRadix=1<<16;var biHalfRadix=biRadix>>>1;var biRadixSquared=biRadix*biRadix;var maxDigitVal=biRadix-1;var maxInteger=9999999999999998;var maxDigits;var ZERO_ARRAY;var bigZero,bigOne;function setMaxDigits(b){maxDigits=b;ZERO_ARRAY=new Array(maxDigits);for(var a=0;a<ZERO_ARRAY.length;a++){ZERO_ARRAY[a]=0}bigZero=new BigInt();bigOne=new BigInt();bigOne.digits[0]=1}setMaxDigits(20);function BigInt(a){if(typeof a=="boolean"&&a==true){this.digits=null}else{this.digits=ZERO_ARRAY.slice(0)}this.isNeg=false}function biCopy(a){var b=new BigInt(true);b.digits=a.digits.slice(0);b.isNeg=a.isNeg;return b}function reverseStr(b){var c="";for(var a=b.length-1;a>-1;--a){c+=b.charAt(a)}return c}var hexToChar=new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");function digitToHex(c){var a=15;var b="";for(i=0;i<4;++i){b+=hexToChar[c&a];c>>>=4}return reverseStr(b)}function biToHex(a){var c="";var d=biHighIndex(a);for(var b=biHighIndex(a);b>-1;--b){c+=digitToHex(a.digits[b])}return c}function charToHex(l){var b=48;var a=b+9;var d=97;var k=d+25;var h=65;var e=65+25;var g;if(l>=b&&l<=a){g=l-b}else{if(l>=h&&l<=e){g=10+l-h}else{if(l>=d&&l<=k){g=10+l-d}else{g=0}}}return g}function hexToDigit(c){var d=0;var a=Math.min(c.length,4);for(var b=0;b<a;++b){d<<=4;d|=charToHex(c.charCodeAt(b))}return d}function biFromHex(d){var e=new BigInt();var a=d.length;for(var c=a,b=0;c>0;c-=4,++b){e.digits[b]=hexToDigit(d.substr(Math.max(c-4,0),Math.min(c,4)))}return e}function biFromString(n,l){var a=n.charAt(0)=="-";var e=a?1:0;var k=new BigInt();var b=new BigInt();b.digits[0]=1;for(var d=n.length-1;d>=e;d--){var g=n.charCodeAt(d);var h=charToHex(g);var m=biMultiplyDigit(b,h);k=biAdd(k,m);b=biMultiplyDigit(b,l)}k.isNeg=a;return k}function biDump(a){return(a.isNeg?"-":"")+a.digits.join(" ")}function biAdd(a,h){var d;if(a.isNeg!=h.isNeg){h.isNeg=!h.isNeg;d=biSubtract(a,h);h.isNeg=!h.isNeg}else{d=new BigInt();var g=0;var e;for(var b=0;b<a.digits.length;++b){e=a.digits[b]+h.digits[b]+g;d.digits[b]=e&65535;g=Number(e>=biRadix)}d.isNeg=a.isNeg}return d}function biSubtract(a,h){var d;if(a.isNeg!=h.isNeg){h.isNeg=!h.isNeg;d=biAdd(a,h);h.isNeg=!h.isNeg}else{d=new BigInt();var g,e;e=0;for(var b=0;b<a.digits.length;++b){g=a.digits[b]-h.digits[b]+e;d.digits[b]=g&65535;if(d.digits[b]<0){d.digits[b]+=biRadix}e=0-Number(g<0)}if(e==-1){e=0;for(var b=0;b<a.digits.length;++b){g=0-d.digits[b]+e;d.digits[b]=g&65535;if(d.digits[b]<0){d.digits[b]+=biRadix}e=0-Number(g<0)}d.isNeg=!a.isNeg}else{d.isNeg=a.isNeg}}return d}function biHighIndex(a){var b=a.digits.length-1;while(b>0&&a.digits[b]==0){--b}return b}function biNumBits(b){var g=biHighIndex(b);var e=b.digits[g];var a=(g+1)*bitsPerDigit;var c;for(c=a;c>a-bitsPerDigit;--c){if((e&32768)!=0){break}e<<=1}return c}function biMultiply(m,l){var h=new BigInt();var g;var b=biHighIndex(m);var p=biHighIndex(l);var o,a,d;for(var e=0;e<=p;++e){g=0;d=e;for(j=0;j<=b;++j,++d){a=h.digits[d]+m.digits[j]*l.digits[e]+g;h.digits[d]=a&maxDigitVal;g=a>>>biRadixBits}h.digits[e+b+1]=g}h.isNeg=m.isNeg!=l.isNeg;return h}function biMultiplyDigit(a,h){var g,e,d;result=new BigInt();g=biHighIndex(a);e=0;for(var b=0;b<=g;++b){d=result.digits[b]+a.digits[b]*h+e;result.digits[b]=d&maxDigitVal;e=d>>>biRadixBits}result.digits[1+g]=e;return result}function arrayCopy(g,e,c,k,h){var a=Math.min(e+h,g.length);for(var d=e,b=k;d<a;++d,++b){c[b]=g[d]}}var highBitMasks=new Array(0,32768,49152,57344,61440,63488,64512,65024,65280,65408,65472,65504,65520,65528,65532,65534,65535);function biShiftLeft(a,k){var d=Math.floor(k/bitsPerDigit);var h=new BigInt();arrayCopy(a.digits,0,h.digits,d,h.digits.length-d);var g=k%bitsPerDigit;var c=bitsPerDigit-g;for(var b=h.digits.length-1,e=b-1;b>0;--b,--e){h.digits[b]=((h.digits[b]<<g)&maxDigitVal)|((h.digits[e]&highBitMasks[g])>>>(c))}h.digits[0]=((h.digits[b]<<g)&maxDigitVal);h.isNeg=a.isNeg;return h}var lowBitMasks=new Array(0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535);function biShiftRight(a,k){var c=Math.floor(k/bitsPerDigit);var g=new BigInt();arrayCopy(a.digits,c,g.digits,0,a.digits.length-c);var e=k%bitsPerDigit;var h=bitsPerDigit-e;for(var b=0,d=b+1;b<g.digits.length-1;++b,++d){g.digits[b]=(g.digits[b]>>>e)|((g.digits[d]&lowBitMasks[e])<<h)}g.digits[g.digits.length-1]>>>=e;g.isNeg=a.isNeg;return g}function biMultiplyByRadixPower(a,c){var b=new BigInt();arrayCopy(a.digits,0,b.digits,c,b.digits.length-c);return b}function biDivideByRadixPower(a,c){var b=new BigInt();arrayCopy(a.digits,c,b.digits,0,b.digits.length-c);return b}function biModuloByRadixPower(a,c){var b=new BigInt();arrayCopy(a.digits,0,b.digits,0,c);return b}function biCompare(a,c){if(a.isNeg!=c.isNeg){return 1-2*Number(a.isNeg)}for(var b=a.digits.length-1;b>=0;--b){if(a.digits[b]!=c.digits[b]){if(a.isNeg){return 1-2*Number(a.digits[b]>c.digits[b])}else{return 1-2*Number(a.digits[b]<c.digits[b])}}}return 0}function biDivideModulo(k,h){var c=biNumBits(k);var g=biNumBits(h);var d=h.isNeg;var p,m;if(c<g){if(k.isNeg){p=biCopy(bigOne);p.isNeg=!h.isNeg;k.isNeg=false;h.isNeg=false;m=biSubtract(h,k);k.isNeg=true;h.isNeg=d}else{p=new BigInt();m=biCopy(k)}return new Array(p,m)}p=new BigInt();m=k;var l=Math.ceil(g/bitsPerDigit)-1;var a=0;while(h.digits[l]<biHalfRadix){h=biShiftLeft(h,1);++a;++g;l=Math.ceil(g/bitsPerDigit)-1}m=biShiftLeft(m,a);c+=a;var v=Math.ceil(c/bitsPerDigit)-1;var C=biMultiplyByRadixPower(h,v-l);while(biCompare(m,C)!=-1){++p.digits[v-l];m=biSubtract(m,C)}for(var B=v;B>l;--B){var o=(B>=m.digits.length)?0:m.digits[B];var A=(B-1>=m.digits.length)?0:m.digits[B-1];var z=(B-2>=m.digits.length)?0:m.digits[B-2];var w=(l>=h.digits.length)?0:h.digits[l];var e=(l-1>=h.digits.length)?0:h.digits[l-1];if(o==w){p.digits[B-l-1]=maxDigitVal}else{p.digits[B-l-1]=Math.floor((o*biRadix+A)/w)}var u=p.digits[B-l-1]*((w*biRadix)+e);var s=(o*biRadixSquared)+((A*biRadix)+z);while(u>s){--p.digits[B-l-1];u=p.digits[B-l-1]*((w*biRadix)|e);s=(o*biRadix*biRadix)+((A*biRadix)+z)}C=biMultiplyByRadixPower(h,B-l-1);m=biSubtract(m,biMultiplyDigit(C,p.digits[B-l-1]));if(m.isNeg){m=biAdd(m,C);--p.digits[B-l-1]}}m=biShiftRight(m,a);p.isNeg=k.isNeg!=d;if(k.isNeg){if(d){p=biAdd(p,bigOne)}else{p=biSubtract(p,bigOne)}h=biShiftRight(h,a);m=biSubtract(h,m)}if(m.digits[0]==0&&biHighIndex(m)==0){m.isNeg=false}return new Array(p,m)}function biDivide(a,b){return biDivideModulo(a,b)[0]}function biModulo(a,b){return biDivideModulo(a,b)[1]}function biMultiplyMod(b,c,a){return biModulo(biMultiply(b,c),a)}function biPow(b,e){var d=bigOne;var c=b;while(true){if((e&1)!=0){d=biMultiply(d,c)}e>>=1;if(e==0){break}c=biMultiply(c,c)}return d}function RSAPublicKey(b,a){this.e=biFromHex(b);this.m=biFromHex(a);this.chunkSize=2*biHighIndex(this.m);this.radix=16;this.barrett=new BarrettMu(this.m)}function twoDigit(a){return(a<10?"0":"")+String(a)}function encryptedString(n,q){var m=new Array();var b=q.length;var g=0;while(g<b){m[g]=q.charCodeAt(g);g++}while(m.length%n.chunkSize!=0){m[g++]=0}var h=m.length;var l="";var e,d,c;for(g=0;g<h;g+=n.chunkSize){c=new BigInt();e=0;for(d=g;d<g+n.chunkSize;++e){c.digits[e]=m[d++];c.digits[e]+=m[d++]<<8}var p=n.barrett.powMod(c,n.e);var o=biToHex(p);l+=o+" "}return l.substring(0,l.length-1)}function sha1Hash(k){var p=[1518500249,1859775393,2400959708,3395469782];k+=String.fromCharCode(128);var y=k.length/4+2;var m=Math.ceil(y/16);var n=new Array(m);for(var A=0;A<m;A++){n[A]=new Array(16);for(var z=0;z<16;z++){n[A][z]=(k.charCodeAt(A*64+z*4)<<24)|(k.charCodeAt(A*64+z*4+1)<<16)|(k.charCodeAt(A*64+z*4+2)<<8)|(k.charCodeAt(A*64+z*4+3))}}n[m-1][14]=((k.length-1)*8)/Math.pow(2,32);n[m-1][14]=Math.floor(n[m-1][14]);n[m-1][15]=((k.length-1)*8)&4294967295;var v=1732584193;var u=4023233417;var r=2562383102;var q=271733878;var o=3285377520;var g=new Array(80);var F,E,D,C,B;for(var A=0;A<m;A++){for(var w=0;w<16;w++){g[w]=n[A][w]}for(var w=16;w<80;w++){g[w]=ROTL(g[w-3]^g[w-8]^g[w-14]^g[w-16],1)}F=v;E=u;D=r;C=q;B=o;for(var w=0;w<80;w++){var x=Math.floor(w/20);var h=(ROTL(F,5)+f(x,E,D,C)+B+p[x]+g[w])&4294967295;B=C;C=D;D=ROTL(E,30);E=F;F=h}v=(v+F)&4294967295;u=(u+E)&4294967295;r=(r+D)&4294967295;q=(q+C)&4294967295;o=(o+B)&4294967295}return v.toHexStr()+u.toHexStr()+r.toHexStr()+q.toHexStr()+o.toHexStr()}function f(b,a,d,c){switch(b){case 0:return(a&d)^(~a&c);case 1:return a^d^c;case 2:return(a&d)^(a&c)^(d&c);case 3:return a^d^c}}function ROTL(a,b){return(a<<b)|(a>>>(32-b))}Number.prototype.toHexStr=function(){var c="",a;for(var b=7;b>=0;b--){a=(this>>>(b*4))&15;c+=a.toString(16)}return c};