function MvcUrl(n){var i=n.replace(/%7B/g,"{").replace(/%7D/g,"}");Array.prototype.shift.call(arguments);for(arg in arguments)i=i.replace("{"+arg+"}",arguments[arg]);return i}(function(n){n.widget("thomaskahn.smoothDivScroll",{options:{scrollingHotSpotLeft:"div.scrollingHotSpotLeft",scrollingHotSpotRight:"div.scrollingHotSpotRight",scrollableArea:"div.scrollableArea",scrollWrapper:"div.scrollWrapper",hiddenOnStart:!1,ajaxContentURL:"",countOnlyClass:"",scrollStep:15,scrollInterval:10,mouseDownSpeedBooster:3,autoScroll:"",autoScrollDirection:"right",autoScrollStep:5,autoScrollInterval:10,visibleHotSpots:"",hotSpotsVisibleTime:5,startAtElementId:""},_create:function(){var r=this,i=this.options,t=this.element;t.data("scrollWrapper",t.find(i.scrollWrapper)),t.data("scrollingHotSpotRight",t.find(i.scrollingHotSpotRight)),t.data("scrollingHotSpotLeft",t.find(i.scrollingHotSpotLeft)),t.data("scrollableArea",t.find(i.scrollableArea)),t.data("speedBooster",1),t.data("motherElementOffset",t.offset().left),t.data("scrollXPos",0),t.data("hotSpotWidth",t.find(i.scrollingHotSpotLeft).width()),t.data("scrollableAreaWidth",0),t.data("startingPosition",0),t.data("rightScrollInterval",null),t.data("leftScrollInterval",null),t.data("autoScrollInterval",null),t.data("hideHotSpotBackgroundsInterval",null),t.data("previousScrollLeft",0),t.data("pingPongDirection","right"),t.data("getNextElementWidth",!0),t.data("swapAt",null),t.data("startAtElementHasNotPassed",!0),t.data("swappedElement",null),t.data("originalElements",t.data("scrollableArea").children(i.countOnlyClass)),t.data("visible",!0),t.data("initialAjaxContentLoaded",!1),t.data("enabled",!0);if(i.autoScroll!=="always")switch(i.visibleHotSpots){case"always":r.showHotSpotBackgrounds();break;case"onstart":r.showHotSpotBackgrounds(),t.data("hideHotSpotBackgroundsInterval",setTimeout(function(){r.hideHotSpotBackgrounds("slow")},i.hotSpotsVisibleTime*1e3))}t.data("scrollingHotSpotRight").bind("mousemove",function(n){var r=n.pageX-(this.offsetLeft+t.data("motherElementOffset"));t.data("scrollXPos",Math.round(r/t.data("hotSpotWidth")*i.scrollStep)),t.data("scrollXPos")===Infinity&&t.data("scrollXPos",0)}),t.data("scrollingHotSpotRight").bind("mouseover",function(){i.autoScroll==="onstart"&&t.data("autoScrollInterval")!==null&&(clearInterval(t.data("autoScrollInterval")),t.data("autoScrollInterval",null),r._trigger("autoScrollIntervalStopped")),t.data("rightScrollInterval",setInterval(function(){t.data("scrollXPos")>0&&t.data("enabled")&&(t.data("scrollWrapper").scrollLeft(t.data("scrollWrapper").scrollLeft()+t.data("scrollXPos")*t.data("speedBooster")),r._showHideHotSpots())},i.scrollInterval)),r._trigger("mouseOverRightHotSpot")}),t.data("scrollingHotSpotRight").bind("mouseout",function(){clearInterval(t.data("rightScrollInterval")),t.data("scrollXPos",0)}),t.data("scrollingHotSpotRight").bind("mousedown",function(){t.data("speedBooster",i.mouseDownSpeedBooster)}),n("body").bind("mouseup",function(){t.data("speedBooster",1)}),t.data("scrollingHotSpotLeft").bind("mousemove",function(n){var r=t.data("scrollingHotSpotLeft").innerWidth()-(n.pageX-t.data("motherElementOffset"));t.data("scrollXPos",Math.round(r/t.data("hotSpotWidth")*i.scrollStep)),t.data("scrollXPos")===Infinity&&t.data("scrollXPos",0)}),t.data("scrollingHotSpotLeft").bind("mouseover",function(){i.autoScroll==="onstart"&&t.data("autoScrollInterval")!==null&&(clearInterval(t.data("autoScrollInterval")),t.data("autoScrollInterval",null),r._trigger("autoScrollIntervalStopped")),t.data("leftScrollInterval",setInterval(function(){t.data("scrollXPos")>0&&t.data("enabled")&&(t.data("scrollWrapper").scrollLeft(t.data("scrollWrapper").scrollLeft()-t.data("scrollXPos")*t.data("speedBooster")),r._showHideHotSpots())},i.scrollInterval)),r._trigger("mouseOverLeftHotSpot")}),t.data("scrollingHotSpotLeft").bind("mouseout",function(){clearInterval(t.data("leftScrollInterval")),t.data("scrollXPos",0)}),t.data("scrollingHotSpotLeft").bind("mousedown",function(){t.data("speedBooster",i.mouseDownSpeedBooster)}),n(window).bind("resize",function(){i.hiddenOnStart||r._showHideHotSpots(),r._trigger("windowResized")}),i.ajaxContentURL.length>0?r.replaceContent(i.ajaxContentURL):r.recalculateScrollableArea(),i.hiddenOnStart&&r.hide(),i.autoScroll.length<=0||i.hiddenOnStart||i.ajaxContentURL.length>0||r.startAutoScroll()},showHotSpotBackgrounds:function(n){var i=this,t=this.element;n!==undefined?(t.data("scrollingHotSpotLeft").css("opacity","0.0"),t.data("scrollingHotSpotRight").css("opacity","0.0"),t.data("scrollingHotSpotLeft").addClass("scrollingHotSpotLeftVisible"),t.data("scrollingHotSpotRight").addClass("scrollingHotSpotRightVisible"),t.data("scrollingHotSpotLeft").fadeTo(n,.35),t.data("scrollingHotSpotRight").fadeTo(n,.35)):(t.data("scrollingHotSpotLeft").addClass("scrollingHotSpotLeftVisible"),t.data("scrollingHotSpotLeft").removeAttr("style"),t.data("scrollingHotSpotRight").addClass("scrollingHotSpotRightVisible"),t.data("scrollingHotSpotRight").removeAttr("style")),i._showHideHotSpots()},hideHotSpotBackgrounds:function(n){var t=this.element;n!==undefined?(t.data("scrollingHotSpotLeft").fadeTo(n,0,function(){t.data("scrollingHotSpotLeft").removeClass("scrollingHotSpotLeftVisible")}),t.data("scrollingHotSpotRight").fadeTo(n,0,function(){t.data("scrollingHotSpotRight").removeClass("scrollingHotSpotRightVisible")})):(t.data("scrollingHotSpotLeft").removeClass("scrollingHotSpotLeftVisible"),t.data("scrollingHotSpotLeft").removeAttr("style"),t.data("scrollingHotSpotRight").removeClass("scrollingHotSpotRightVisible"),t.data("scrollingHotSpotRight").removeAttr("style"))},_showHideHotSpots:function(){var t=this,n=this.element,i=this.options;i.autoScroll!=="always"?n.data("scrollableAreaWidth")>n.data("scrollWrapper").innerWidth()?n.data("scrollWrapper").scrollLeft()===0?(n.data("scrollingHotSpotLeft").hide(),n.data("scrollingHotSpotRight").show(),t._trigger("scrollLeftLimitReached"),clearInterval(n.data("leftScrollInterval")),n.data("leftScrollInterval",null)):n.data("scrollableAreaWidth")>n.data("scrollWrapper").innerWidth()+n.data("scrollWrapper").scrollLeft()?(n.data("scrollingHotSpotLeft").show(),n.data("scrollingHotSpotRight").show()):(n.data("scrollingHotSpotLeft").show(),n.data("scrollingHotSpotRight").hide(),t._trigger("scrollRightLimitReached"),clearInterval(n.data("rightScrollInterval")),n.data("rightScrollInterval",null)):(n.data("scrollingHotSpotLeft").hide(),n.data("scrollingHotSpotRight").hide()):(n.data("scrollingHotSpotLeft").hide(),n.data("scrollingHotSpotRight").hide())},moveToElement:function(t,i){var f=this,r=this.element,e=this.options,u=0,o=!1;switch(t){case"first":r.data("scrollXPos",0),f._trigger("movedToFirstElement");break;case"start":r.data("scrollableArea").children(e.countOnlyClass).each(function(){e.startAtElementId.length>0&&n(this).attr("id")===e.startAtElementId&&(r.data("startingPosition",u),o=!0),u=u+n(this).outerWidth(!0)}),r.data("scrollXPos",r.data("startingPosition")),f._trigger("movedToStartElement");break;case"last":r.data("scrollXPos",r.data("scrollableAreaWidth")),f._trigger("movedToLastElement");break;case"number":isNaN(i)||r.data("scrollableArea").children(e.countOnlyClass).each(function(t){t===i-1&&r.data("scrollXPos",u),u=u+n(this).outerWidth(!0)}),f._trigger("movedToElementNumber",null,{elementNumber:i})}r.data("scrollWrapper").scrollLeft(r.data("scrollXPos")),f._showHideHotSpots()},addContent:function(t,i){var u=this,r=this.element;n.get(t,function(n){i==="first"?r.data("scrollableArea").children(":first").before(n):r.data("scrollableArea").children(":last").after(n),u.recalculateScrollableArea(),u._showHideHotSpots()})},replaceContent:function(n){var t=this,i=this.element;i.data("scrollableArea").load(n,function(){t.recalculateScrollableArea(),t.moveToElement("first"),t._showHideHotSpots(),i.data("startingPosition",0)})},recalculateScrollableArea:function(){var r=0,u=!1,i=this.options,t=this.element,f=this;t.data("scrollableArea").children(i.countOnlyClass).each(function(){i.startAtElementId.length>0&&n(this).attr("id")===i.startAtElementId&&(t.data("startingPosition",r),u=!0),r=r+n(this).outerWidth(!0)}),u||t.data("startAtElementId",""),t.data("scrollableAreaWidth",r),t.data("scrollableArea").width(t.data("scrollableAreaWidth")),t.data("scrollWrapper").scrollLeft(t.data("startingPosition")),t.data("scrollXPos",t.data("startingPosition")),t.data("initialAjaxContentLoaded")||i.autoScroll.length>0&&!i.hiddenOnStart&&i.ajaxContentURL.length>0&&(f.startAutoScroll(),t.data("initialAjaxContentLoaded",!0))},stopAutoScroll:function(){var t=this,n=this.element;clearInterval(n.data("autoScrollInterval")),n.data("autoScrollInterval",null),t._showHideHotSpots(),t._trigger("autoScrollStopped")},startAutoScroll:function(){var r=this,t=this.element,i=this.options;r._showHideHotSpots(),clearInterval(t.data("autoScrollInterval")),t.data("autoScrollInterval",null),r._trigger("autoScrollStarted"),t.data("autoScrollInterval",setInterval(function(){if(t.data("visible")&&t.data("scrollableAreaWidth")>t.data("scrollWrapper").innerWidth()){t.data("previousScrollLeft",t.data("scrollWrapper").scrollLeft());switch(i.autoScrollDirection){case"right":t.data("scrollWrapper").scrollLeft(t.data("scrollWrapper").scrollLeft()+i.autoScrollStep),t.data("previousScrollLeft")===t.data("scrollWrapper").scrollLeft()&&(r._trigger("autoScrollRightLimitReached"),clearInterval(t.data("autoScrollInterval")),t.data("autoScrollInterval",null),r._trigger("autoScrollIntervalStopped"));break;case"left":t.data("scrollWrapper").scrollLeft(t.data("scrollWrapper").scrollLeft()-i.autoScrollStep),t.data("previousScrollLeft")===t.data("scrollWrapper").scrollLeft()&&(r._trigger("autoScrollLeftLimitReached"),clearInterval(t.data("autoScrollInterval")),t.data("autoScrollInterval",null),r._trigger("autoScrollIntervalStopped"));break;case"backandforth":t.data("pingPongDirection")==="right"?t.data("scrollWrapper").scrollLeft(t.data("scrollWrapper").scrollLeft()+i.autoScrollStep):t.data("scrollWrapper").scrollLeft(t.data("scrollWrapper").scrollLeft()-i.autoScrollStep),t.data("previousScrollLeft")===t.data("scrollWrapper").scrollLeft()&&(t.data("pingPongDirection")==="right"?(t.data("pingPongDirection","left"),r._trigger("autoScrollRightLimitReached")):(t.data("pingPongDirection","right"),r._trigger("autoScrollLeftLimitReached")));break;case"endlessloopright":t.data("getNextElementWidth")&&(i.startAtElementId.length>0&&t.data("startAtElementHasNotPassed")?(t.data("swapAt",n("#"+i.startAtElementId).outerWidth(!0)),t.data("startAtElementHasNotPassed",!1)):t.data("swapAt",t.data("scrollableArea").children(":first").outerWidth(!0)),t.data("getNextElementWidth",!1)),t.data("scrollWrapper").scrollLeft(t.data("scrollWrapper").scrollLeft()+i.autoScrollStep),t.data("swapAt")>t.data("scrollWrapper").scrollLeft()||(t.data("swappedElement",t.data("scrollableArea").children(":first").detach()),t.data("scrollableArea").append(t.data("swappedElement")),t.data("scrollWrapper").scrollLeft(t.data("scrollWrapper").scrollLeft()-t.data("swappedElement").outerWidth(!0)),t.data("getNextElementWidth",!0));break;case"endlessloopleft":t.data("getNextElementWidth")&&(i.startAtElementId.length>0&&t.data("startAtElementHasNotPassed")?(t.data("swapAt",n("#"+i.startAtElementId).outerWidth(!0)),t.data("startAtElementHasNotPassed",!1)):t.data("swapAt",t.data("scrollableArea").children(":first").outerWidth(!0)),t.data("getNextElementWidth",!1)),t.data("scrollWrapper").scrollLeft(t.data("scrollWrapper").scrollLeft()-i.autoScrollStep),t.data("scrollWrapper").scrollLeft()===0&&(t.data("swappedElement",t.data("scrollableArea").children(":last").detach()),t.data("scrollableArea").prepend(t.data("swappedElement")),t.data("scrollWrapper").scrollLeft(t.data("scrollWrapper").scrollLeft()+t.data("swappedElement").outerWidth(!0)),t.data("getNextElementWidth",!0))}}else clearInterval(t.data("autoScrollInterval")),t.data("autoScrollInterval",null)},i.autoScrollInterval))},restoreOriginalElements:function(){var t=this,n=this.element;n.data("scrollableArea").html(n.data("originalElements")),t.recalculateScrollableArea(),t.moveToElement("first")},show:function(){var n=this.element;n.data("visible",!0),n.show()},hide:function(){var n=this.element;n.data("visible",!1),n.hide()},enable:function(){var n=this.element;n.data("enabled",!0)},disable:function(){var n=this.element;clearInterval(n.data("autoScrollInterval")),clearInterval(n.data("rightScrollInterval")),clearInterval(n.data("leftScrollInterval")),clearInterval(n.data("hideHotSpotBackgroundsInterval")),n.data("enabled",!1)},destroy:function(){var t=this.element;clearInterval(t.data("autoScrollInterval")),clearInterval(t.data("rightScrollInterval")),clearInterval(t.data("leftScrollInterval")),clearInterval(t.data("hideHotSpotBackgroundsInterval")),t.data("scrollingHotSpotRight").unbind("mouseover"),t.data("scrollingHotSpotRight").unbind("mouseout"),t.data("scrollingHotSpotRight").unbind("mousedown"),t.data("scrollingHotSpotLeft").unbind("mouseover"),t.data("scrollingHotSpotLeft").unbind("mouseout"),t.data("scrollingHotSpotLeft").unbind("mousedown"),t.data("scrollableArea").html(t.data("originalElements")),t.data("scrollableArea").removeAttr("style"),t.data("scrollingHotSpotRight").removeAttr("style"),t.data("scrollingHotSpotLeft").removeAttr("style"),t.data("scrollWrapper").scrollLeft(0),t.data("scrollingHotSpotLeft").removeClass("scrollingHotSpotLeftVisible"),t.data("scrollingHotSpotRight").removeClass("scrollingHotSpotRightVisible"),t.data("scrollingHotSpotRight").hide(),t.data("scrollingHotSpotLeft").hide(),n.Widget.prototype.destroy.apply(this,arguments)}})})(jQuery),$.ajaxSetup({beforeSend:function(n){n.setRequestHeader("If-Modified-Since",null)}});var continents={AD:"Europe",AE:"Asia",AF:"Asia",AG:"North America",AI:"North America",AL:"Europe",AM:"Asia",AN:"North America",AO:"Africa",AQ:"Antarctica",AR:"South America",AS:"Australia",AT:"Europe",AU:"Australia",AW:"North America",AZ:"Asia",BA:"Europe",BB:"North America",BD:"Asia",BE:"Europe",BF:"Africa",BG:"Europe",BH:"Asia",BI:"Africa",BJ:"Africa",BM:"North America",BN:"Asia",BO:"South America",BR:"South America",BS:"North America",BT:"Asia",BW:"Africa",BY:"Europe",BZ:"North America",CA:"North America",CC:"Asia",CD:"Africa",CF:"Africa",CG:"Africa",CH:"Europe",CI:"Africa",CK:"Australia",CL:"South America",CM:"Africa",CN:"Asia",CO:"South America",CR:"North America",CU:"North America",CV:"Africa",CX:"Asia",CY:"Asia",CZ:"Europe",DE:"Europe",DJ:"Africa",DK:"Europe",DM:"North America",DO:"North America",DZ:"Africa",EC:"South America",EE:"Europe",EG:"Africa",EH:"Africa",ER:"Africa",ES:"Europe",ET:"Africa",FI:"Europe",FJ:"Australia",FK:"South America",FM:"Australia",FO:"Europe",FR:"Europe",GA:"Africa",GB:"Europe",GD:"North America",GE:"Asia",GF:"South America",GG:"Europe",GH:"Africa",GI:"Europe",GL:"North America",GM:"Africa",GN:"Africa",GP:"North America",GQ:"Africa",GR:"Europe",GS:"Antarctica",GT:"North America",GU:"Australia",GW:"Africa",GY:"South America",HK:"Asia",HN:"North America",HR:"Europe",HT:"North America",HU:"Europe",ID:"Asia",IE:"Europe",IL:"Asia",IM:"Europe",IN:"Asia",IO:"Asia",IQ:"Asia",IR:"Asia",IS:"Europe",IT:"Europe",JE:"Europe",JM:"North America",JO:"Asia",JP:"Asia",KE:"Africa",KG:"Asia",KH:"Asia",KI:"Australia",KM:"Africa",KN:"North America",KP:"Asia",KR:"Asia",KW:"Asia",KY:"North America",KZ:"Asia",LA:"Asia",LB:"Asia",LC:"North America",LI:"Europe",LK:"Asia",LR:"Africa",LS:"Africa",LT:"Europe",LU:"Europe",LV:"Europe",LY:"Africa",MA:"Africa",MC:"Europe",MD:"Europe",ME:"Europe",MG:"Africa",MH:"Australia",MK:"Europe",ML:"Africa",MM:"Asia",MN:"Asia",MO:"Asia",MP:"Australia",MQ:"North America",MR:"Africa",MS:"North America",MT:"Europe",MU:"Africa",MV:"Asia",MW:"Africa",MX:"North America",MY:"Asia",MZ:"Africa",NA:"Africa",NC:"Australia",NE:"Africa",NF:"Australia",NG:"Africa",NI:"North America",NL:"Europe",NO:"Europe",NP:"Asia",NR:"Australia",NU:"Australia",NZ:"Australia",OM:"Asia",PA:"North America",PE:"South America",PF:"Australia",PG:"Australia",PH:"Asia",PK:"Asia",PL:"Europe",PM:"North America",PN:"Australia",PR:"North America",PS:"Asia",PT:"Europe",PW:"Australia",PY:"South America",QA:"Asia",RE:"Africa",RO:"Europe",RS:"Europe",RU:"Europe",RW:"Africa",SA:"Asia",SB:"Australia",SC:"Africa",SD:"Africa",SE:"Europe",SG:"Asia",SH:"Africa",SI:"Europe",SJ:"Europe",SK:"Europe",SL:"Africa",SM:"Europe",SN:"Africa",SO:"Africa",SR:"South America",ST:"Africa",SV:"North America",SY:"Asia",SZ:"Africa",TC:"North America",TD:"Africa",TF:"Antarctica",TG:"Africa",TH:"Asia",TJ:"Asia",TK:"Australia",TM:"Asia",TN:"Africa",TO:"Australia",TR:"Asia",TT:"North America",TV:"Australia",TW:"Asia",TZ:"Africa",UA:"Europe",UG:"Africa",US:"North America",UY:"South America",UZ:"Asia",VC:"North America",VE:"South America",VG:"North America",VI:"North America",VN:"Asia",VU:"Australia",WF:"Australia",WS:"Australia",YE:"Asia",YT:"Africa",ZA:"Africa",ZM:"Africa",ZW:"Africa"},continentPresets={Europe:new google.maps.LatLngBounds(new google.maps.LatLng(39,-20),new google.maps.LatLng(69,40)),"North America":new google.maps.LatLngBounds(new google.maps.LatLng(39,-20),new google.maps.LatLng(69,40)),"South America":new google.maps.LatLngBounds(new google.maps.LatLng(39,-20),new google.maps.LatLng(69,40)),Asia:new google.maps.LatLngBounds(new google.maps.LatLng(39,-20),new google.maps.LatLng(69,40)),Australia:new google.maps.LatLngBounds(new google.maps.LatLng(39,-20),new google.maps.LatLng(69,40)),Africa:new google.maps.LatLngBounds(new google.maps.LatLng(39,-20),new google.maps.LatLng(69,40)),Antarctica:new google.maps.LatLngBounds(new google.maps.LatLng(39,-20),new google.maps.LatLng(69,40))},countryPresets={NO:new google.maps.LatLngBounds(new google.maps.LatLng(57.8097,4.0649),new google.maps.LatLng(71.3078,31.355))},SG={Api:new TackyAPI,Spots:null,DefaultImageUploadSettings:{flash_url:"/scripts/swfupload/swfupload.swf",upload_url:"/skateboard/spot/UploadSpotSuggestionImage/",file_size_limit:"10 MB",file_types:"*.jpg;*.jpeg",file_types_description:"Images",file_upload_limit:100,file_queue_limit:0,custom_settings:{progressTarget:"fsUploadProgress",cancelButtonId:"btnCancel"},debug:!1,button_image_url:"/m/static/uploadbutton.png",button_width:"92",button_height:"29",button_placeholder_id:"spanButtonPlaceHolder",button_text:''+$("#uploadbuttontext").val()+"",button_text_style:".theFont { font-family:verdana; text-align:center; font-size:11px; color:#555555;}",button_cursor:SWFUpload.CURSOR.HAND,button_text_top_padding:4,file_queued_handler:fileQueued,file_queue_error_handler:fileQueueError,file_dialog_complete_handler:fileDialogComplete,upload_start_handler:uploadStart,upload_progress_handler:uploadProgress,upload_error_handler:uploadError,upload_success_handler:uploadSuccess,upload_complete_handler:uploadComplete,queue_complete_handler:queueComplete},Map:{Id:"map_canvas",jWrapper:$("#map_wrapper"),jMap:$("#map_canvas"),MapObj:null,UserLocation:null,UserAreaPresets:{},SuggestMarker:null,Options:{zoom:3,mapTypeId:google.maps.MapTypeId.ROADMAP},Init:function(){var n=new google.maps.LatLng(59.95,10.85);SG.Map.Options.center=n,SG.Map.MapObj=new google.maps.Map(document.getElementById(SG.Map.Id),SG.Map.Options),countryPresets[Tacky.currentSite.country]&&(SG.Map.MapObj.fitBounds(countryPresets[Tacky.currentSite.country]),SG.Map.MapObj.setCenter(countryPresets[Tacky.currentSite.country].getCenter())),navigator.geolocation&&navigator.geolocation.getCurrentPosition(SG.GeolocationCallback,function(){console.log(arguments)},{timeout:2e4})},SetBounds:function(n){SG.Map.MapObj.setCenter(n.getCenter()),SG.Map.MapObj.fitBounds(n)},SetViewport:function(n,t){n=="city"&&(n="administrative_area_level_1");if(SG.Map.UserAreaPresets[n]!==undefined){SG.Map.SetBounds(SG.Map.UserAreaPresets[n]);return}this.GeoCode({location:t},function(t){$.map(t.address_components,function(t){$.map(t.types,function(i){n=="continent"?i=="country"&&(SG.Map.MapObj.fitBounds(continentPresets[continents[t.short_name]]),SG.Map.UserAreaPresets[n]=SG.Map.MapObj.getBounds()):i==n&&SG.Map.GeoCode({address:t.long_name},function(t){SG.Map.SetBounds(t.geometry.bounds),SG.Map.UserAreaPresets[n]=t.geometry.bounds})})})})},GeoCode:function(n,t){var i=new google.maps.Geocoder;i.geocode(n,function(n,i){if(i==google.maps.GeocoderStatus.OK){var r=n[0];r&&t(r)}})},PlaceMarker:function(n,t,i){for(var u=new google.maps.Marker({position:new google.maps.LatLng(n,t),map:SG.Map.MapObj}),r=0;r'),SG.Api.Spots.GetSpot(n,function(n){SG.Map.SetSpotInfoWindowContent(n),n.CompleteObject=n}))},SetSpotInfoWindowContent:function(n){var t=$("#spotTemplate").tmpl(n).outerHTML(),r=$(t).find(".c").text(),i=$(t).find(".c").html(r).parent().outerHTML();SG.Map.InfoWindow.setContent(i)}},GeolocationCallback:function(n){SG.Map.UserLocation=new google.maps.LatLng(n.coords.latitude,n.coords.longitude),$("#viewPresets").fadeIn("slow"),setTimeout(function(){SG.Map.MapObj.setCenter(SG.Map.UserLocation),SG.Map.MapObj.setZoom(13)},100);var t=new google.maps.MarkerImage("/m/static/mylocation.png",new google.maps.Size(18,18),null,new google.maps.Point(9,9));new google.maps.Marker({position:SG.Map.UserLocation,map:SG.Map.MapObj,icon:t,title:"You"})},RenderSpots:function(n){var t=0;$.each(n,function(n,i){setTimeout(function(){SG.Map.PlaceMarker(i.a,i.o,i.id)},t*20),t++})},Init:function(){SG.UI.Init(),SG.Map.Init(),SG.Api.Spots.GetAllSpots(function(n){SG.Spots=n,SG.RenderSpots(n)})},UI:{Init:function(){$("#searchtoggle").buttonset(),$("#viewPresets").buttonset(),$("#viewPresets").hide(),$("#IsStreet").button(),$("#elements").buttonset(),$("#facilities").buttonset(),$("#suggestSpot").button().click(function(){return SG.UI.PlaceSuggestMarker(),$("#suggestSpotForm").slideDown("slow"),!1}),$("#elements input:not(#IsPark), #HasRoof").button("option","icons",{primary:"ui-icon-plus"}),$("#spotfilters").width($("#spotfilters").width()+5).css({display:"block",float:"none"}),$("#spotfilters input").click(function(){SG.UI.EnforceFilterLimits(this),SG.UI.UpdateFilters()}),this.SetupAutoCompleteSearch(),$('#searchtoggle input[type="radio"]').change(function(){SG.UI.SetupAutoCompleteSearch()}),$("#viewPresets button").click(function(){SG.UI.ViewPresets(this)}),$("#search").keypress(function(n){var t=n.keyCode?n.keyCode:n.which;if(t==13)return $(this).autocomplete("search",this.value),!1}),$("#suggestSpotForm .buttonset").buttonset(),$("#sendSuggestion").button(),$("#btnCancel").button(),$("#SHasRoof").dependsOn("#SIsOutdoor"),$("#Selements input").dependsOn("#SIsPark"),$("#suggestSpotForm .close").button({text:!1,icons:{primary:"ui-icon-closethick"}}).click(function(){return SG.Map.SuggestMarker&&(SG.Map.SuggestMarker.setVisible(!1),SG.Map.SuggestMarker=null),$("#suggestSpotForm").slideUp("fast"),$(".part2").hide(),$(".part1").show(),!1}),$("#sendSuggestion").click(function(){var n=SG.Map.SuggestMarker.getPosition();return $("#latitude").val(n.lat()),$("#longitude").val(n.lng()),$.post("/skateboard/spot/suggest",$("#suggestSpotForm *").serialize(),function(n){if(n.id){SG.Map.SuggestMarker.setVisible(!1),SG.Map.SuggestMarker=null,$("#suggestionid").val(n.id),$(".part1").hide(),$(".part2").show();var i={upload_url:SG.DefaultImageUploadSettings.upload_url+n.id},t=$.extend({},SG.DefaultImageUploadSettings,i);new SWFUpload(t)}else $("#suggestSpotForm .error").remove(),$.map(n,function(n){$("#suggestSpotForm input[name="+n.Id+"], #suggestSpotForm textarea[name="+n.Id+"]").after('
'+n.Errors.join("
")+"
")})}),!1})},PlaceSuggestMarker:function(){if(SG.Map.SuggestMarker)return;var t=new google.maps.MarkerImage("/m/static/pluspin.png",new google.maps.Size(27,27),null,new google.maps.Point(14,25)),n=new google.maps.MarkerImage("/m/static/shadow-pluspin.png",new google.maps.Size(41,27),null,new google.maps.Point(14,25));SG.Map.SuggestMarker=new google.maps.Marker({position:SG.Map.MapObj.getCenter(),map:SG.Map.MapObj,draggable:!0,icon:t,shadow:n}),SG.Map.SuggestMarker.setAnimation("BOUNCE")},UpdateFilters:function(){var t={},n;$("#spotfilters input:checked").each(function(){t[this.id]=!0}),n={HasMiniramp:"m",HasStreetarea:"s",HasBowl:"b",HasVert:"v",IsIndoor:"i",IsOutdoor:"u",HasRoof:"r",IsStreet:"p",IsPark:"p"},$.map(SG.Spots,function(i){var f=!1,s,o,c;$("#spotfilters input:checked").size()==0&&(f=!0);var e=!1,h=!1,u=!1;$.each(t,function(n,t){t&&n=="IsStreet"&&(e=!0),t&&n=="IsPark"&&(h=!0),(t&&n=="IsIndoor"||t&&n=="IsOutdoor")&&(u=!0)}),u=e||h||!u?!1:!0,s=!1,h&&$.each(t,function(t){t!="IsStreet"?i[n[t]]||(s=!0):i[n[t]]&&(s=!e)}),o=!1,e&&$.each(t,function(t){t!="IsStreet"?i[n[t]]||t!="IsIndoor"&&t!="IsOutdoor"&&t!="HasRoof"||(o=!0):i[n[t]]&&(o=!0)}),c=!1,u&&$.each(t,function(t){i[n[t]]||t!="IsIndoor"&&t!="IsOutdoor"&&t!="HasRoof"||(c=!0)}),h&&!s&&(f=!0),e&&!o&&(f=!0),u&&!c&&(f=!0),i.marker.setVisible(f)})},EnforceFilterLimits:function(n){var r={},t,i;$("#spotfilters input:checked").each(function(){r[this.id]=!0}),t=!1,i=!1,$.each(r,function(n,r){r&&n=="IsPark"&&(i=!0),r&&n=="IsOutdoor"&&(t=!0)}),$.each(r,function(r){r!="HasMiniramp"&&r!="HasStreetarea"&&r!="HasBowl"&&r!="HasVert"||i||n.id=="IsPark"||$("#IsPark").attr("checked","checked").button("refresh"),r!="HasMiniramp"&&r!="HasStreetarea"&&r!="HasBowl"&&r!="HasVert"||i||n.id!="IsPark"||($("#HasMiniramp").attr("checked","").button("refresh"),$("#HasStreetarea").attr("checked","").button("refresh"),$("#HasBowl").attr("checked","").button("refresh"),$("#HasVert").attr("checked","").button("refresh")),r!="HasRoof"||t||n.id=="IsOutdoor"||$("#IsOutdoor").attr("checked","checked").button("refresh"),r!="HasRoof"||t||n.id!="IsOutdoor"||$("#HasRoof").attr("checked","").button("refresh")})},ViewPresets:function(n){switch(n.value){case"close":SG.Map.MapObj.setOptions({zoom:14,center:SG.Map.UserLocation});break;case"city":SG.Map.SetViewport("city",SG.Map.UserLocation);break;case"country":SG.Map.SetViewport("country",SG.Map.UserLocation);break;case"continent":SG.Map.SetViewport("continent",SG.Map.UserLocation)}},SetupAutoCompleteSearch:function(){$("#search").autocomplete("destroy");switch($('#searchtoggle input[name="radio"]:checked').attr("id")){case"radio1":$("#search").autocomplete({source:"/api/json/skateboard/spot/search/1",minLength:2,select:function(n,t){window.location="/skateboard/spot/"+t.item.id},focus:function(n,t){$.map(SG.Spots,function(n){n.id==t.item.id&&SG.Map.ShowSpotInfo(n.id,n.marker)})}}).data("autocomplete")._renderItem=function(n,t){var i=$("
  • ").data("item.autocomplete",t);return $("#spotSearchTemplate").tmpl(t).appendTo(i),i.appendTo(n),n};break;case"radio2":$("#search").autocomplete({source:function(n,t){var i=new google.maps.Geocoder;i.geocode({address:n.term,language:Tacky.currentSite.language},function(n){t($.map(n,function(n){return{label:n.formatted_address,value:n.formatted_address,latitude:n.geometry.location.lat(),longitude:n.geometry.location.lng(),viewport:n.geometry.viewport}}))})},focus:function(n,t){var i=new google.maps.LatLng(t.item.latitude,t.item.longitude);SG.Map.MapObj.setCenter(i),SG.Map.MapObj.fitBounds(t.item.viewport)},select:function(n,t){var i=new google.maps.LatLng(t.item.latitude,t.item.longitude);SG.Map.MapObj.setCenter(i)}})}$("#search").autocomplete("search",$("#search").val())}}},SlideShow={ScrollWrapperWidth:0,CenterOfWrapper:0,CurrentIndex:0,LastPosition:0,Initialized:!1,Enabled:!0,EndDragTime:null,Init:function(){$("div#makeMeScrollable").smoothDivScroll(),SlideShow.ScrollWrapperWidth=$(".scrollWrapper").width(),SlideShow.CenterOfWrapper=SlideShow.ScrollWrapperWidth/2,SlideShow.FindCenteredElement($(".scrollableArea").position().left,!0,0),SlideShow.CenterSmallImages(),$(".scrollableArea img").size()<1,$(".rightHotSpot").click(function(){SlideShow.AnimateTo(SlideShow.CurrentIndex+1,null,200)}),$(".leftHotSpot").click(function(){SlideShow.AnimateTo(SlideShow.CurrentIndex-1,null,200)}),$(".scrollableArea").draggable({axis:"x",start:function(){SlideShow.LastPosition=$(".scrollableArea").position().left,startDragTime=+new Date},drag:function(n,t){t.helper.stop();var r=t.helper.position().left,i=$(this).data("draggable").originalPosition.left;r>i?$(this).data("draggable").offset.click.left-=2:$(this).data("draggable").offset.click.left+=2},stop:function(n,t){SlideShow.EndDragTime=new Date,SlideShow.FindCenteredElement(t.helper.position().left,!0)}}),SlideShow.Initialized=!0},GetImageOffsets:function(n){var r=-100,t,i;return n0&&(f=t[u-1]),f+=$(this).width(),t.push(f),ft.length-1&&(n=t.length-1),SlideShow.CurrentIndex=n;if(n>t.length-1)return;n>0&&(r=t[n-1],o=t[n]-t[n-1]),r=r-r*2+(SlideShow.ScrollWrapperWidth-o)/2,u=700,i!=undefined&&(u=i),$(".scrollableArea").animate({left:r},u,"easeOutSine"),f={opacity:.3,boxShadow:"none"},e={opacity:1,boxShadow:"0px 0px 50px #000"},Modernizr.boxshadow||(f={opacity:.3},e={opacity:1}),$(".scrollableArea img").not("*:nth-child("+n+1+")").stop().animate(f,u).removeClass("centered"),$(".scrollableArea img").eq(n).stop().animate(e,u).addClass("centered"),SlideShow.Initialized&&Tacky.trackVirtualPageView(window.location.pathname)},CenterSmallImages:function(){$(".scrollableArea img").each(function(){$(this).height()<351&&$(this).css({marginTop:(351-$(this).height())/2})})},FindCenteredElement:function(n,t,i){if(t){var r=SlideShow.GetImageOffsets(n);SlideShow.AnimateTo(r.index,r.positions,i)}},ResetSlideShow:function(){SlideShow.CenterSmallImages();var n=0;$(".scrollableArea img").each(function(){n+=$(this).attr("width")}),$(".scrollableArea").width(n),SlideShow.AnimateTo(0,null,400)}},startDragTime,dragobj,Spot={InlineImages:null,ExternalImages:null,CurrentSlideShow:"inline",PreviousSlideShow:null,Init:function(){this.Id=$("#spotid").val(),this.LatLng=new google.maps.LatLng($("#latitude").val(),$("#longitude").val()),this.UI.Init()},UI:{Init:function(){this.BindClickForBiggerImage(),this.BindImageButtons(),this.Map.Init(),SlideShow.Init()},BindClickForBiggerImage:function(){$(".scrollableArea").delegate("img","click",function(){if(SlideShow.EndDragTime!=null&&+new Date-SlideShow.EndDragTime.getTime()<50)return;if(!$(this).hasClass("centered"))return;var t="/image/"+this.id.split(":")[1]+"/ImageCollectionNormal",n=$(this);$.getJSON(t,function(t){$("#biggerImage").html("").width(0).height(0),$("#ImageVariantTemplate").tmpl(t).appendTo("#biggerImage");var i=0,e=$("#biggerImage img").attr("height"),f=$("#biggerImage img").attr("width"),u=n.height(),r=n.width();$("#biggerImage img").height("100%").width("100%"),$("#biggerImage").css({height:u+i*2,width:r+i*2,left:n.offset().left-i,top:n.offset().top-i}),SlideShow.Enabled=!1,$("#biggerImage").animate({height:e+i*2,width:f+i*2,left:"-="+(f-r)/2,top:"-=3"},200).click(function(){$(this).unbind("click"),$(this).animate({height:u,width:r,left:n.offset().left},100,function(){$(this).hide(),SlideShow.Enabled=!0})})})})},BindImageButtons:function(){var n=this;$("#external").click(function(){Spot.CurrentSlideShow!="external"&&(n.LoadExternalImages(),Spot.PreviousSlideShow=Spot.CurrentSlideShow)}),$("#inline").click(function(){Spot.CurrentSlideShow!="inline"&&(n.LoadInlineImages(),Spot.PreviousSlideShow=Spot.CurrentSlideShow)}),$("#streetview").click(function(){Spot.CurrentSlideShow!="streetview"&&(n.LoadGoogleStreetView(),Spot.PreviousSlideShow=Spot.CurrentSlideShow)})},ToggleSlideShowButtons:function(n){$("#imageSelect a:not(#"+n+")").removeClass("selected",200),$("#imageSelect a#"+n).addClass("selected",200)},LoadGoogleStreetView:function(){var n,i,t;Spot.UI.Map.Options=Spot.UI.Map.GetCurrentOptions(),Spot.UI.Map.StreetViewCurrentMapOptions||(Spot.UI.Map.StreetViewCurrentMapOptions={center:Spot.LatLng,zoom:16,mapTypeId:Spot.UI.Map.Options.mapTypeId,streetViewControl:!0}),Spot.UI.Map.CurrentStreetViewOptions||(Spot.UI.Map.CurrentStreetViewOptions={position:Spot.LatLng}),$("#streetview_wrapper").show(),n=new google.maps.StreetViewPanorama(document.getElementById("streetview_wrapper"),Spot.UI.Map.CurrentStreetViewOptions),google.maps.event.addListener(n,"position_changed",function(){Spot.UI.Map.CurrentStreetViewOptions.position=n.getPosition()}),google.maps.event.addListener(n,"pov_changed",function(){Spot.UI.Map.CurrentStreetViewOptions.pov=n.getPov()}),Spot.UI.Map.MapObj.setStreetView(n),Spot.UI.Map.MapObj.setOptions(Spot.UI.Map.StreetViewCurrentMapOptions),Spot.UI.Map.StreetViewInitialized||(i=new google.maps.StreetViewService,i.getPanoramaByLocation(Spot.LatLng,200,function(n,t){if(t=="OK"){var i=Spot.UI.Map.MapObj.getStreetView();i.setPosition(n.location.latLng),Spot.UI.Map.MapObj.streetView.setPov({heading:Spot.UI.GetBearing(n.location.latLng,Spot.LatLng),zoom:1,pitch:0})}})),$("#makeMeScrollableWrapper").hide(),t="streetview",this.ToggleSlideShowButtons(t),Spot.CurrentSlideShow=t,Spot.UI.Map.StreetViewInitialized=!0},GetBearing:function(n,t){var f=n.lat()*Math.PI/180,o=n.lng(),r=t.lat()*Math.PI/180,s=t.lng(),u=(s-o)*Math.PI/180,h=Math.sin(u)*Math.cos(r),e=Math.cos(f)*Math.sin(r)-Math.sin(f)*Math.cos(r)*Math.cos(u),i=Math.atan2(h,e)*180/Math.PI;return i<0&&(i=i+360),i},LoadExternalImages:function(){var n=this;Spot.ExternalImages?($(".scrollableArea").html(Spot.ExternalImages),n.SlideShowCleanup("external")):$.get("/image/relatedimages/External/Spot/"+Spot.Id+"/ImageCollectionSmall",function(t){Spot.InlineImages=$(".scrollableArea").html(),Spot.ExternalImages=t,$(".scrollableArea").html(t),n.SlideShowCleanup("external")})},LoadInlineImages:function(){var n=this;Spot.InlineImages?($(".scrollableArea").html(Spot.InlineImages),n.SlideShowCleanup("inline")):$.get("/image/relatedimages/Inline/Spot/"+Spot.Id+"/ImageCollectionSmall",function(t){Spot.ExternalImages=$(".scrollableArea").html(),Spot.InlineImages=t,$(".scrollableArea").html(t),n.SlideShowCleanup("inline")})},SlideShowCleanup:function(n){Spot.PreviousSlideShow=="streetview"&&(Spot.UI.Map.StreetViewCurrentMapOptions=Spot.UI.Map.GetCurrentOptions()),$("#streetview_wrapper").hide(),Spot.UI.Map.MapObj.getStreetView().setVisible(!1),Spot.UI.Map.MapObj.setOptions(Spot.UI.Map.Options),$("#makeMeScrollableWrapper").show(),this.ToggleSlideShowButtons(n),SlideShow.ResetSlideShow(),Spot.CurrentSlideShow=n},Map:{Id:"map_canvas",jWrapper:$("#map_wrapper"),jMap:$("#map_canvas"),MapObj:null,CurrentStreetViewOptions:null,StreetViewCurrentMapOptions:null,InitialHeight:null,InitialWidth:null,Init:function(){this.InitialHeight=this.jWrapper.height(),this.InitialWidth=this.jWrapper.width(),this.Options.center=Spot.LatLng,this.MapObj=new google.maps.Map(document.getElementById(this.Id),this.Options),this.PlacePin(Spot.LatLng)},GetCurrentOptions:function(){return{zoom:Spot.UI.Map.MapObj.getZoom(),center:Spot.UI.Map.MapObj.getCenter(),mapTypeId:Spot.UI.Map.MapObj.getMapTypeId()}},ResizeMap:function(){google.maps.event.trigger(this.MapObj,"resize")},Options:{zoom:11,center:null,mapTypeId:google.maps.MapTypeId.ROADMAP,streetViewControl:!1},PlacePin:function(n){var t=new google.maps.Marker({position:n,map:this.MapObj})}}}};$.ajaxSetup({beforeSend:function(n){n.setRequestHeader("If-Modified-Since",null)}})