var geograffiti=geograffiti||{};geograffiti.log=function(a){if(geograffiti.debugging){console.log(a,arguments)}};geograffiti.debug=function(a){if(geograffiti.debugging){console.debug(a,arguments)}};geograffiti.info=function(a){if(geograffiti.debugging){console.info(a,arguments)}};geograffiti.warn=function(a){if(geograffiti.debugging){console.warn(a,arguments)}};geograffiti.error=function(a){if(geograffiti.debugging){console.error(a,arguments)}};geograffiti.EmptyFunction=function(){};geograffiti.Environment={ServerRunningOn:"www.geograffiti.com",exportSelf:function(){},initialize:function(){var a=$F("serverRunningOn");if(a&&a.length>0){this.ServerRunningOn=a}this.exportSelf()}};geograffiti.initializeDebugging=function(a){geograffiti.debugging=a;document.observe("dom:loaded",function(d){if(!a){}else{if(!window.console){var c=["log","debug","info","warn","error","assert","dir","dirxml","trace","group","groupEnd","groupCollapsed","time","timeEnd","profile","profileEnd","count","clear","notifyFirebug","getFirebugElement","firebug"];window.console={};var f=null;for(var b=0;b<c.length;++b){f=c[b];console[f]=geograffiti.EmptyFunction}}}})};geograffiti.MapEvent={FilterSelected:"geograffiti:filterSelected",RepeatLastSearch:"geograffiti:repeatLastSearch",ViewProfileLinkClicked:"geograffiti:viewProfileLinkClicked",TagLinkClicked:"geograffiti:tagLinkClicked",UserVoiceMarksSearchRequested:"geograffiti:userVoiceMarksSearchRequested",SearchAllWithTagRequested:"geograffiti:searchAllWithTagRequested",ShowMyPhonesRequested:"geograffiti:showMyPhonesRequested"};geograffiti.UserEvent={UserLoggedIn:"geograffiti:userLoggedIn",UserLoggedOut:"geograffiti:userLoggedOut",UserDidNotLogIn:"geograffiti:userDidNotLogIn"};geograffiti.SearchUsersControlEvent={UserSelected:"geograffiti:searchUsersControlUserSelected"};geograffiti.ApiUrl={ContentSearch:"/gu/VoiceMarkSearch.html?function=contentsearch",TagSearch:"/gu/VoiceMarkSearch.html?function=pagedsearch",RespondToVoiceMark:"/gu/RespondToVoiceMark.html",GetUserInfo:"/gu/GetUserInfo.html",GetVoiceMarkInfo:"/gu/GetVoiceMarkInfo.html",CreateVoiceMark:"/gu/CreateVoiceMark.html",GetResponses:"/gu/GetResponses.html",StreamVoiceMark:"/geogstreamer/GetVoiceMark",FilterSearch:"/gu/VoiceMarkSearch.html?function=pagedsearch",AddTags:"/gu/AddTags.html",GetVoiceMarkCategories:"/gu/GetCategories.html?entityType=0",GetVoiceMarkSubCategories:"/gu/GetSubCategories.html?entityType=0",SetVoiceMarkCategory:"/gu/SetCategory.html",GetVoiceMarkCategory:"/gu/GetVoiceMarkCategory.html",GetVoiceMarkTags:"/gu/GetVoiceMarkTags.html",UserLoggedIn:"/gu/IsSessionAlive.html",GetAccountData:"/gu/GetAccountData.html",GetProfilePic:"/gu/GetProfilePic.html",UploadProfilePic:"/gu/UploadProfilePic.html",SetPreference:"/gu/SetPreference.html",BecomeFan:"/gu/Subscribe.html",GetGroups:"/gu/GetGroups.html",JoinGroup:"/gu/JoinGroup.html",LeaveGroup:"/gu/LeaveGroup.html",CreateGroup:"/gu/CreateGroup.html",GetGroupInfo:"/gu/GetGroupInfo.html",AddPhoneNumber:"/gu/AddPhoneNumber.html",DeletePhoneNumber:"/gu/DeletePhoneNumber.html",VerifyPhoneNumber:"/gu/SendVerificationCall.html",VerifyVerificationCallCode:"/gu/VerifyVerificationCallCode.html",SetNotificationPreferences:"/gu/SetNotificationPreferences.html",DeleteVoiceMark:"/gu/DeleteVoiceMark.html",DeleteSubscription:"/gu/DeleteSubscription.html",GetUserVoiceMarks:"/gu/GetUserVoiceMarks.html",RateVoiceMark:"/gu/RateVoiceMark.html",Logout:"/gu/LogOut.html",SearchForUser:"/gu/SearchForUser.html",SetPhoneCarrier:"/gu/SetPhoneCarrier.html",SetPhoneHandset:"/gu/SetPhoneHandset.html",GetGroupVoiceMarks:"/gu/GetGroupVoiceMarks.html",GetMySystemUserId:"/gu/GetMySystemUserId.html",SendVoiceMarkToPhone:"/gu/SendVoiceMarkToPhone.html",HasVerifiedNumber:"/gu/HasVerifiedNumber.html",EnableTwitter:"/gu/UpdateTwitterPreferences.html",UpdateTwitterPreferences:"/gu/UpdateTwitterPreferences.html",GetTwitterPreferences:"/gu/GetTwitterPreferences.html",UploadVoiceMark:"/gu/UploadVoiceMark.html",initialize:function(){}};geograffiti.SEOFriendlyUrl={ViewVoiceMark:"/voicemarks",ViewTag:"/tags",ViewUser:"/users",ViewAnonymousUser:"/anonymous-users",ViewGroupMap:"/map/group",initialize:function(){}};geograffiti.AudioPlayerDefaults={remaining:"yes",initialvolume:100,buffer:2,width:"100%",bg:"0xcccccc",leftbg:"0xeeeeee",lefticon:"0x648bee",voltrack:"0xffffff",volslider:"0x648bee",rightbg:"0xcccccc",rightbghover:"0xeeeeee",righticon:"0x666666",righticonhover:"0x648bee",loader:"0xf2f723",track:"0xffffff",tracker:"0xeddd80",border:"0xcccccc",skip:"0xeddd0",text:"0x666666",transparentpagebg:"yes"};geograffiti.loadCallback=null;geograffiti.getMySystemUserId=function(){var b=new Ajax.Request(gg.ApiUrl.GetMySystemUserId,{asynchronous:false});var a=b.transport.responseText.evalJSON(true);var c=null;if(a){if(typeof a.id!=="undefined"){c=a.id}}return c};geograffiti.userHasVerifiedNumber=function(){var a=false;var c=new Ajax.Request(gg.ApiUrl.HasVerifiedNumber,{asynchronous:false});var b=c.transport.responseText.evalJSON(true);if(b&&b.status===0){a=true}return a};geograffiti.require=function(a){geograffiti.libraries=geograffiti.libraries||$H();geograffiti.libraryIndicator=geograffiti.libraryIndicator||0;geograffiti.libraries.set(a,false);$j.getScript(a,geograffiti.incrementIndicator)};geograffiti.incrementIndicator=function(){geograffiti.libraryIndicator++};geograffiti.intervalId=null;geograffiti.loadCallbackLoop=function(){if(geograffiti.libraries.size()===geograffiti.libraryIndicator){clearInterval(geograffiti.intervalId);geograffiti.libraries.each(function(a){geograffiti.libraries.unset(a.key)});geograffiti.libraryIndicator=0;this.loadCallback()}};geograffiti.setOnLoadCallback=function(b){var a=this;a.loadCallback=b;geograffiti.intervalId=setInterval("geograffiti.loadCallbackLoop()",50)};geograffiti.exportSelf=function(){window.gg=window.geograffiti};geograffiti.loadLibraries=function(){};geograffiti.load=function(){document.observe("dom:loaded",function(){var a=$("viewport");if(a){$("viewport").setStyle("visibility:visible")}});this.exportSelf();if(typeof google!="undefined"){google.load("maps","2");google.setOnLoadCallback(function(){window.$j=jQuery;geograffiti.loadLibraries();geograffiti.geograffitiLibrariesLoaded()})}};geograffiti.enableLoginLink=function(){var a=$("logout-login-link");a.removeClassName("logout");a.addClassName("login");a.update("Sign In")};geograffiti.enableLogoutLink=function(){var a=$("logout-login-link");a.removeClassName("login");a.addClassName("logout");a.update("Sign Out")};geograffiti.initialize=function(){geograffiti.Environment.initialize();geograffiti.ApiUrl.initialize();geograffiti.SEOFriendlyUrl.initialize()};geograffiti.pageControlsClicked=function(){alert("Page Controls!")};geograffiti.accountControlsClicked=function(){alert("Account Controls!")};geograffiti.initializeNavigationControls=function(){};geograffiti.geograffitiLibrariesLoaded=function(){geograffiti.initialize();geograffiti.initializeNavigationControls();geograffiti.loadMapAndSideBar();geograffiti.mapFilterBar=new geograffiti.FilterBar("filterbar-container")};geograffiti.loadMapAndSideBar=function(){geograffiti.initializeSideBar();geograffiti.initializeMap()};geograffiti.initializeSideBar=function(){var a=$("viewport").getHeight()-$("toparea").getHeight()+55;var b=$("sidebar");geograffiti.SideBar.initialize("sidebar-tabs","voicemarkmap",{height:a});b.observe(geograffiti.SideBarEvent.SideBarExtended,this.sideBarExtended.bindAsEventListener(this.sideBarExtended));b.observe(geograffiti.SideBarEvent.SideBarCollapsed,this.sideBarCollapsed.bindAsEventListener(this.sideBarCollapsed))};geograffiti.initializeMap=function(){var b=$("viewport").getHeight()-$("toparea").getHeight();var a=$("viewport").getWidth()-$("sidebarcontent").getWidth();geograffiti.map.load(function(){geograffiti.map.initialize({width:a,height:b})})};geograffiti.sideBarExtended=function(a){geograffiti.map.resized()};geograffiti.sideBarCollapsed=function(a){geograffiti.map.resized()};geograffiti.userLoggedIn=function(){var a=false;var c=new Ajax.Request(gg.ApiUrl.UserLoggedIn,{asynchronous:false});var b=c.transport.responseText.evalJSON(true);if(b){if(b.isSessionAlive===true){a=true}}return a};geograffiti.stopObservingLightviewEvents=function(a){gg.log("stopObservingLightviewEvents on %o",a);var b=$(a);if(b){b.stopObserving("lightview:opened");b.stopObserving("lightview:hidden")}};geograffiti.loginInProgress=false;geograffiti.userWantsToLogIn2=function(){Lightview.show({href:"#login-form",rel:"inline",options:{width:800,height:450}})};geograffiti.facebookConnectUserLoggedIn=function(){new Ajax.Request("/gu/loggedin.html",{onSuccess:function(a){gg.info("FBConnect user logged in ... and logged in to geog");$("logout-login-link").innerHTML=String.format('<fb:profile-pic uid="$0" facebook-logo="true"></fb:profile-pic>',FB.Connect.get_loggedInUser())},onFailure:function(a){gg.error("Error eroror %o",a)}})};geograffiti.userWantsToLogIn=function(){if(!geograffiti.loginInProgress){gg.log("user wants to login ... no login progress...going through");geograffiti.loginInProgress=true;var b=null;document.observe("lightview:hidden",function(c){try{gg.log("lightview has hidden!!!");c.stop();gg.log("going to stop the pe...%o",b);if(b){b.stop()}geograffiti.stopObservingLightviewEvents(document);new Ajax.Request(gg.ApiUrl.UserLoggedIn,{onSuccess:function(d){var e=d.responseText.evalJSON(true);if(e){if(!e.isSessionAlive){gg.log("session not alive so firing did not login");document.fire(geograffiti.UserEvent.UserDidNotLogIn)}else{gg.log("session is good so firing logged in");document.fire(geograffiti.UserEvent.UserLoggedIn)}}else{gg.log("firing did not login b/c apiResponse was null");document.fire(geograffiti.UserEvent.UserDidNotLogIn)}},onFailure:function(d){gg.log("ajax call failed...firing not logged in");document.fire(geograffiti.UserEvent.UserDidNotLogIn)},onComplete:function(d){geograffiti.loginInProgress=false},onException:function(d,f){geograffiti.loginInProgress=false}})}catch(c){geograffiti.loginInProgress=false}});document.observe("lightview:opened",function(c){gg.log("observed lightview:openend");c.stop();gg.log("starting executor");new PeriodicalExecuter(function(d){gg.log("%o",d);b=d;gg.log("executor now pe");try{new Ajax.Request(gg.ApiUrl.UserLoggedIn,{onSuccess:function(e){var g=e.responseText.evalJSON(true);gg.log("api response was %o",g);if(g&&g.isSessionAlive===true){gg.log("api response coo and session alive coo");d.stop();gg.log("stopped pe");Lightview.hide();document.fire(geograffiti.UserEvent.UserLoggedIn);gg.log("fired gg.Userevent.UserLoggedIn")}else{gg.log("api response not coo or session not alive");if(gg.debug){gg.info("session check...session invalid %o",e)}}},onFailure:function(e){gg.log("failure sending ajax call.....%o",e);if(gg.debug){gg.warn("Can't check if session is alive!!! %o",e)}},onComplete:function(e){geograffiti.loginInProgress=false;gg.log("complete....%o",e)},onException:function(g,h){gg.log("exception sending ajax call %o",h);geograffiti.loginInProgress=false}})}catch(f){gg.log("exception caught...%o ... ",f);geograffiti.loginInProgress=false;if(gg.debug){gg.info("can't get access to content...must be on FB")}}},1)});try{Lightview.show({href:String.format("https://$0/gu/loggedin.html",gg.Environment.ServerRunningOn),options:{width:430,height:410,menubar:false,topclose:true}})}catch(a){geograffiti.loginInProgress=false}}};geograffiti.textOrDefault=function(b,a){return(!String.isNullOrEmpty(b)?b:a).escapeHTML()};