CINXE.COM
Santa Monica Publications | Request a Santa Monica Guide
<!DOCTYPE html> <html class="no-js" lang="en-US"> <head> <!-- Google Tag Manager --> <script> (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-WP5B28G'); </script> <!-- End Google Tag Manager --> <meta charset="UTF-8"><script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"384303b0e6",applicationID:"8061896"};;/*! For license information please see nr-loader-rum-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>g,gD:()=>h,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function h(e,t){if(!e)throw new Error(f);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.274.0",i="PROD",o="CDN"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=h(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=m()[s[e]];p&&p.push([f,e,r,a]);return a},get:v,listeners:h,context:g,buffer:function(e,t){const r=m();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!m()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=h(e).concat(t)}function h(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(f,t)}function m(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3434:(e,t,r)=>{"use strict";r.d(t,{YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log";n.K7.logging},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(2614);r(860).K7.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.g.ERROR,n.g.FULL,n.g.OFF},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7603:(e,t,r)=>{"use strict";r.d(t,{j:()=>P});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),g=r(384),p=r(6344);const h=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],v=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(1863),b=r(2614),y=r(993);var w=r(2646),A=r(3434);function R(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,A.YM)(i),a=new w.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function E(){const e=(0,g.pV)();h.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const x={};function _(e,t,g=!1){t||(0,c.Ak)(e,"api");const h={};var w=s.ee.get(e),A=w.get("tracer");x[e]=b.g.OFF,w.on(p.G4.REPLAY_RUNNING,(t=>{x[e]=t}));var E="api-",_=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),j(E,n,!0,o||null===r?"session":void 0)(t,r)}function T(){}h.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),function(e,t,r={},i=y.p_.INFO){(0,a.p)(f.xV,["API/logging/".concat(i.toLowerCase(),"/called")],void 0,n.K7.metrics,e),(0,a.p)(y.ET,[(0,m.t)(),t,r,i],void 0,n.K7.logging,e)}(w,e,t,r)},h.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),R(w,e,t,{customAttributes:r,level:i})},v.forEach((e=>{h[e]=j(E,e,!0,"api")})),h.addPageAction=j(E,"addPageAction",!0,n.K7.genericEvents),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,j(E,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},h.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},h.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},h[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},h[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},h.interaction=function(e){return(new T).get("object"==typeof e?e:{})};const S=T.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),g||(0,a.p)(_+"tracer",[(0,m.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,m.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,m.t)()],r)}}}};function j(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[(0,m.t)(),...arguments],r?null:this,i,w),r?void 0:this}}function k(){r.e(296).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{S[e]=j(_,e,void 0,g?n.K7.softNav:n.K7.spa)})),h.setCurrentRouteName=g?j(_,"routeName",void 0,n.K7.softNav):j(E,"routeName",!0,n.K7.spa),h.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,m.t)(),!1,r,!!x[e]],void 0,n.K7.jserrors,w)},d.RI?(0,u.GG)((()=>k()),!0):k(),h}var N=r(9417),T=r(8122);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},j={};var k=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let O=!1;function P(e,t={},r,n){let{init:a,info:c,loader_config:u,runtime:l={},exposed:f=!0}=t;l.loaderType=r;const p=(0,g.pV)();c||(a=p.init,c=p.info,u=p.loader_config),(0,N.xN)(e.agentIdentifier,a||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");j[e]=(0,T.a)(t,S);const r=(0,g.nY)(e);r&&(r.loader_config=j[e])}(e.agentIdentifier,u||{}),c.jsAttributes??={},d.bv&&(c.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,c);const h=(0,N.D0)(e.agentIdentifier),v=[c.beacon,c.errorBeacon];O||(h.proxy.assets&&(I(h.proxy.assets),v.push(h.proxy.assets)),h.proxy.beacon&&v.push(h.proxy.beacon),E(),(0,g.US)("activatedFeatures",k.B),e.runSoftNavOverSpa&&=!0===h.soft_navigations.enabled&&h.feature_flags.includes("soft_nav")),l.denyList=[...h.ajax.deny_list||[],...h.ajax.block_internal?v:[]],l.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,l),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=_(e.agentIdentifier,n,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=f),O=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.274.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={296:"sha512-gkYkZDAwQ9PwaDXs2YM+rNIdRej1Ac1mupWobRJ8eahQcXz6/sunGZCKklrzi5kWxhOGRZr2tn0rEKuLTXzfAA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={840:0,374:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(7603);var l=i(1687),f=i(4234),g=i(5289),p=i(6154),h=i(384);const v=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function m(e){return!!(0,h.dV)().o.MO&&v(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(6389);class y extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if(v(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,3861));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(296).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,g.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return m(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(6630);class A extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var R=i(9908),E=i(2843),x=i(3878),_=i(782),N=i(1863);class T extends y{static featureName=_.T;constructor(e,t=!0){super(e,_.T,t),p.RI&&((0,E.u)((()=>(0,R.p)("docHidden",[(0,N.t)()],void 0,_.T,this.ee)),!0),(0,x.sp)("pagehide",(()=>(0,R.p)("winPagehide",[(0,N.t)()],void 0,_.T,this.ee))),this.importAggregator(e))}}var S=i(3969);class j extends y{static featureName=S.TZ;constructor(e,t=!0){super(e,S.TZ,t),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,h.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,h.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,T,j],loaderType:"lite"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Tenor+Sans&display=swap" rel="stylesheet"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO plugin v23.6 - https://yoast.com/wordpress/plugins/seo/ --> <title>Santa Monica Publications | Request a Santa Monica Guide</title> <meta name="description" content="Request a free Official Santa Monica Visitors Guide for more information about planning your next vacation in Santa Monica, California." /> <link rel="canonical" href="https://www.santamonica.com/request-santa-monica-vistors-guide/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Santa Monica Publications | Request a Santa Monica Guide" /> <meta property="og:description" content="Request a free Official Santa Monica Visitors Guide for more information about planning your next vacation in Santa Monica, California." /> <meta property="og:url" content="https://www.santamonica.com/request-santa-monica-vistors-guide/" /> <meta property="og:site_name" content="Visit Santa Monica" /> <meta property="article:publisher" content="http://www.facebook.com/visitsantamonica" /> <meta property="article:modified_time" content="2023-11-09T17:22:29+00:00" /> <meta property="og:image" content="https://www.santamonica.com/wp-content/uploads/2022/06/visitor-guide.jpg" /> <meta property="og:image:width" content="458" /> <meta property="og:image:height" content="411" /> <meta property="og:image:type" content="image/jpeg" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"Article","@id":"https://www.santamonica.com/request-santa-monica-vistors-guide/#article","isPartOf":{"@id":"https://www.santamonica.com/request-santa-monica-vistors-guide/"},"author":{"name":"@noblestudios","@id":"https://www.santamonica.com/#/schema/person/7b10fd12fadbc80c0bc66d3dffb450d9"},"headline":"Visitor Guide","datePublished":"2022-05-13T22:16:03+00:00","dateModified":"2023-11-09T17:22:29+00:00","mainEntityOfPage":{"@id":"https://www.santamonica.com/request-santa-monica-vistors-guide/"},"wordCount":2,"publisher":{"@id":"https://www.santamonica.com/#organization"},"image":{"@id":"https://www.santamonica.com/request-santa-monica-vistors-guide/#primaryimage"},"thumbnailUrl":"https://www.santamonica.com/wp-content/uploads/2022/06/visitor-guide.jpg","inLanguage":"en-US"},{"@type":"WebPage","@id":"https://www.santamonica.com/request-santa-monica-vistors-guide/","url":"https://www.santamonica.com/request-santa-monica-vistors-guide/","name":"Santa Monica Publications | Request a Santa Monica Guide","isPartOf":{"@id":"https://www.santamonica.com/#website"},"primaryImageOfPage":{"@id":"https://www.santamonica.com/request-santa-monica-vistors-guide/#primaryimage"},"image":{"@id":"https://www.santamonica.com/request-santa-monica-vistors-guide/#primaryimage"},"thumbnailUrl":"https://www.santamonica.com/wp-content/uploads/2022/06/visitor-guide.jpg","datePublished":"2022-05-13T22:16:03+00:00","dateModified":"2023-11-09T17:22:29+00:00","description":"Request a free Official Santa Monica Visitors Guide for more information about planning your next vacation in Santa Monica, California.","breadcrumb":{"@id":"https://www.santamonica.com/request-santa-monica-vistors-guide/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.santamonica.com/request-santa-monica-vistors-guide/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.santamonica.com/request-santa-monica-vistors-guide/#primaryimage","url":"https://www.santamonica.com/wp-content/uploads/2022/06/visitor-guide.jpg","contentUrl":"https://www.santamonica.com/wp-content/uploads/2022/06/visitor-guide.jpg","width":458,"height":411,"caption":"visitor guide"},{"@type":"BreadcrumbList","@id":"https://www.santamonica.com/request-santa-monica-vistors-guide/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Santa Monica","item":"https://www.santamonica.com/"},{"@type":"ListItem","position":2,"name":"Visitor Guide"}]},{"@type":"WebSite","@id":"https://www.santamonica.com/#website","url":"https://www.santamonica.com/","name":"Visit Santa Monica","description":"Plan your escape to Santa Monica, California. Guide to getting here, beaches, visiting without a car, hotels, restaurants, things to do in LA, shopping.","publisher":{"@id":"https://www.santamonica.com/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.santamonica.com/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https://www.santamonica.com/#organization","name":"Santa Monica Travel & Tourism","url":"https://www.santamonica.com/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.santamonica.com/#/schema/logo/image/","url":"https://www.santamonica.com/wp-content/uploads/2022/08/santa-monica-logo.jpg","contentUrl":"https://www.santamonica.com/wp-content/uploads/2022/08/santa-monica-logo.jpg","width":1024,"height":458,"caption":"Santa Monica Travel & Tourism"},"image":{"@id":"https://www.santamonica.com/#/schema/logo/image/"},"sameAs":["http://www.facebook.com/visitsantamonica","https://x.com/gosantamonica","http://instagram.com/seesantamonica","https://www.youtube.com/user/TravelSantaMonica","https://www.linkedin.com/company/santa-monica-travel-and-tourism","http://pinterest.com/lovesantamonica"]},{"@type":"Person","@id":"https://www.santamonica.com/#/schema/person/7b10fd12fadbc80c0bc66d3dffb450d9","name":"@noblestudios","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https://www.santamonica.com/#/schema/person/image/","url":"https://secure.gravatar.com/avatar/5770556037ba4dbed51569a8b8b67a4b?s=96&d=mm&r=g","contentUrl":"https://secure.gravatar.com/avatar/5770556037ba4dbed51569a8b8b67a4b?s=96&d=mm&r=g","caption":"@noblestudios"}}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//www.santamonica.com' /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.santamonica.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.6.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <link rel='stylesheet' id='tribe-events-pro-mini-calendar-block-styles-css' href='https://www.santamonica.com/wp-content/plugins/events-calendar-pro/src/resources/css/tribe-events-pro-mini-calendar-block.min.css?ver=7.2.0' type='text/css' media='all' /> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://www.santamonica.com/wp-includes/css/dist/block-library/style.min.css?ver=6.6.2' type='text/css' media='all' /> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--p-01: #00AF9F;--wp--preset--color--p-02: #FCAB4D;--wp--preset--color--p-03: #333F3F;--wp--preset--color--s-01: #00999B;--wp--preset--color--s-02: #EC724B;--wp--preset--color--s-03: #FCD45B;--wp--preset--color--s-04: #055270;--wp--preset--color--s-05: #FFF8EB;--wp--preset--color--s-06: #CF3A0A;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.wp-site-blocks) > * { margin-block-start: 40px; margin-block-end: 0; }:where(.wp-site-blocks) > :first-child { margin-block-start: 0; }:where(.wp-site-blocks) > :last-child { margin-block-end: 0; }:root { --wp--style--block-gap: 40px; }:root :where(.is-layout-flow) > :first-child{margin-block-start: 0;}:root :where(.is-layout-flow) > :last-child{margin-block-end: 0;}:root :where(.is-layout-flow) > *{margin-block-start: 40px;margin-block-end: 0;}:root :where(.is-layout-constrained) > :first-child{margin-block-start: 0;}:root :where(.is-layout-constrained) > :last-child{margin-block-end: 0;}:root :where(.is-layout-constrained) > *{margin-block-start: 40px;margin-block-end: 0;}:root :where(.is-layout-flex){gap: 40px;}:root :where(.is-layout-grid){gap: 40px;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){margin-left: auto !important;margin-right: auto !important;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}a:where(:not(.wp-element-button)){text-decoration: underline;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;line-height: inherit;padding: calc(0.667em + 2px) calc(1.333em + 2px);text-decoration: none;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-p-01-color{color: var(--wp--preset--color--p-01) !important;}.has-p-02-color{color: var(--wp--preset--color--p-02) !important;}.has-p-03-color{color: var(--wp--preset--color--p-03) !important;}.has-s-01-color{color: var(--wp--preset--color--s-01) !important;}.has-s-02-color{color: var(--wp--preset--color--s-02) !important;}.has-s-03-color{color: var(--wp--preset--color--s-03) !important;}.has-s-04-color{color: var(--wp--preset--color--s-04) !important;}.has-s-05-color{color: var(--wp--preset--color--s-05) !important;}.has-s-06-color{color: var(--wp--preset--color--s-06) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-p-01-background-color{background-color: var(--wp--preset--color--p-01) !important;}.has-p-02-background-color{background-color: var(--wp--preset--color--p-02) !important;}.has-p-03-background-color{background-color: var(--wp--preset--color--p-03) !important;}.has-s-01-background-color{background-color: var(--wp--preset--color--s-01) !important;}.has-s-02-background-color{background-color: var(--wp--preset--color--s-02) !important;}.has-s-03-background-color{background-color: var(--wp--preset--color--s-03) !important;}.has-s-04-background-color{background-color: var(--wp--preset--color--s-04) !important;}.has-s-05-background-color{background-color: var(--wp--preset--color--s-05) !important;}.has-s-06-background-color{background-color: var(--wp--preset--color--s-06) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-p-01-border-color{border-color: var(--wp--preset--color--p-01) !important;}.has-p-02-border-color{border-color: var(--wp--preset--color--p-02) !important;}.has-p-03-border-color{border-color: var(--wp--preset--color--p-03) !important;}.has-s-01-border-color{border-color: var(--wp--preset--color--s-01) !important;}.has-s-02-border-color{border-color: var(--wp--preset--color--s-02) !important;}.has-s-03-border-color{border-color: var(--wp--preset--color--s-03) !important;}.has-s-04-border-color{border-color: var(--wp--preset--color--s-04) !important;}.has-s-05-border-color{border-color: var(--wp--preset--color--s-05) !important;}.has-s-06-border-color{border-color: var(--wp--preset--color--s-06) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='sm-style-css' href='https://www.santamonica.com/wp-content/themes/santamonica/dist/styles/main.css?ver=3.1' type='text/css' media='all' /> <script type="text/javascript" src="https://www.santamonica.com/wp-content/themes/santamonica/dist/scripts/main.js?ver=3.1" id="sm-script-js"></script> <link rel="https://api.w.org/" href="https://www.santamonica.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.santamonica.com/wp-json/wp/v2/pages/335364" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.santamonica.com/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.6.2" /> <link rel='shortlink' href='https://www.santamonica.com/?p=335364' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.santamonica.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.santamonica.com%2Frequest-santa-monica-vistors-guide%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.santamonica.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.santamonica.com%2Frequest-santa-monica-vistors-guide%2F&format=xml" /> <meta name="tec-api-version" content="v1"><meta name="tec-api-origin" content="https://www.santamonica.com"><link rel="alternate" href="https://www.santamonica.com/wp-json/tribe/events/v1/" /> <script type="text/javascript" id="spai_js" data-cfasync="false"> document.documentElement.className += " spai_has_js"; (function(w, d){ var b = d.getElementsByTagName('head')[0]; var s = d.createElement("script"); var v = ("IntersectionObserver" in w) ? "" : "-compat"; s.async = true; // This includes the script as async. s.src = "https://cdn.shortpixel.ai/assets/js/bundles/spai-lib-bg" + v + ".1.1.min.js?v=3.9.4"; w.spaiDomain = "cdn.shortpixel.ai"; w.spaiData = { version: "3.9.4", key: "spai2", quality: "lossless", convert: "webp", lqip: false, rootMargin: "500px", crop: false, sizeBreakpoints: {"on":false,"base":50,"rate":10}, backgroundsMaxWidth: 1920, resizeStyleBackgrounds: false, nativeLazyLoad: false, safeLazyBackgrounds: false, asyncInitialParsing: true, debug: false, doSelectors: [{"selectors":"img","type":"attr","targetAttr":"src","attrType":"url","lazy":true,"resize":true}], exclusions: {"selectors":[],"urls":{"regex:\/\\\/\\\/([^\\\/]*\\.|)gravatar.com\\\/\/":{"lazy":0,"cdn":0,"resize":0,"lqip":0,"crop":-1}}}, sizeFromImageSuffix: true, ajax_url: "https://www.santamonica.com/wp-admin/admin-ajax.php", }; b.appendChild(s); }(window, document)); </script> <link rel="icon" href="https://cdn.shortpixel.ai/spai2/q_lossless+ret_img+to_webp/www.santamonica.com/wp-content/uploads/2024/05/cropped-favicon2-32x32.png" data-spai-egr="1" sizes="32x32" /> <link rel="icon" href="https://cdn.shortpixel.ai/spai2/q_lossless+ret_img+to_webp/www.santamonica.com/wp-content/uploads/2024/05/cropped-favicon2-192x192.png" data-spai-egr="1" sizes="192x192" /> <link rel="apple-touch-icon" href="https://cdn.shortpixel.ai/spai2/q_lossless+ret_img+to_webp/www.santamonica.com/wp-content/uploads/2024/05/cropped-favicon2-180x180.png" data-spai-egr="1" /> <meta name="msapplication-TileImage" content="https://www.santamonica.com/wp-content/uploads/2024/05/cropped-favicon2-270x270.png" /> <link href="https://cdn.shortpixel.ai" rel="preconnect" crossorigin></head> <body class="page-template page-template-template-form-confirmation page-template-template-form-confirmation-php page page-id-335364 wp-embed-responsive tribe-no-js tribe-theme-santamonica"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src=https://www.googletagmanager.com/ns.html?id=GTM-WP5B28G height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="site js-site" id="site"> <header id="masthead" class="site__header js-header --theme1" role="banner"> <a class="screen-reader-text skip-link" href="#content">Skip to content</a> <div class="header"> <div class="header__container"> <div class="header__main"> <a href="https://www.santamonica.com/" class="header__logo gtm-header-logo" aria-label="Santa Monica Logo"> <div class="logo"></div> </a> <div class="header__main-content js-main-content"> <form class="mini-search" method="get" action="https://www.santamonica.com/"> <input type="text" class="mini-search__field js-mini-search" name="s" placeholder="Search" value=""> <button class="search-submit" type="submit" aria-label="Search Submit"> <!-- <svg class="search-icon" viewBox="0 0 400 480" xmlns="http://www.w3.org/2000/svg"> <path d="M218.926 14c26.381 0 53.828 5.035 79.375 14.562 69.137 25.783 98.347 102.214 96.628 166.526-2.413 90.25-82.28 166.488-174.392 166.488-21.953 0-42.96-4.09-62.344-11.487-16.947 36.02-12.872 41.878-31.455 77.056-9.12 17.267-7.238 13.79-18.523 29.7-18.353 25.863-17.551-14.192-63.062-25.41-.085-.075-15.988 2.733-16.073 2.663-7.303-2.394-22.707-8.207-17.033-16.244 33.106-46.9 54.566-58.874 81.129-111.283-29.735-31.43-48.023-73.795-48.023-120.374 0-29.031 12.088-61.291 17.283-73.814C87.996 50.781 146.496 14 218.926 14zm3.184 48.044c-68.984 0-119.759 48.608-128.908 99.55-1.227 6.834 4.135 10.293 4.135 17.531 0 61.203 45.854 127.725 120.571 131.352 63.062 3.06 122.26-44.229 137.053-93.342 2.734-9.077-1.109-13.865 0-23.147 7.107-59.5-52.071-131.944-132.85-131.944z" fill="#ffffff" fill-rule="evenodd" /> </svg> --> </button> </form> <nav class="header__main-nav js-main-nav" aria-label="Main Navigation"> <ul class="header__main-nav-items js-header-main-items"> <li class="header__main-nav-item js-header-main-item " data-item-key="0"> <a href="https://www.santamonica.com/things-to-do/" class="header__main-nav-item-link js-header-main-item-trigger --children" data-item-key="0" data-title="Things to Do" >Things to Do</a> <div class="header__main-nav-item-button"> <a href="https://www.santamonica.com/things-to-do/" class="header__main-nav-item-mobile-link" >Things to Do</a> <div class="plus-minus-toggle js-header-dropdown-button" data-key="0"></div> </div> <div class="header__main-nav-dropdown --theme3 js-header-dropdown" data-dropdown-key="0"> <ul class="dropdown__container"> <div class="dropdown__section-title">Things to Do</div> <div class="dropdown__section-links"> <li class="dropdown__item "> <a href="https://www.santamonica.com/things-to-do/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">All Things to Do</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/things-to-do/santa-monica-attractions/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Activities & Attractions</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/events/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Events</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/things-to-do/santa-monica-beach/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Santa Monica Beach</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/things-to-do/visiting-santa-monica-pier/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Santa Monica Pier</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/shopping/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Shopping</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/arts-and-culture/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Arts & Culture</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/things-to-do/wellness-activities/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Wellness</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/things-to-do/biking-and-bike-rentals/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Biking</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/things-to-do/surfing/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Surfing</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/things-to-do/santa-monica-parks/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Parks</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/things-to-do/tours/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Tours</span> </a> </li> </div> <div class="dropdown__section-image-wrapper"> <img width="369" height="298" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNjkgMjk4IiB3aWR0aD0iMzY5IiBoZWlnaHQ9IjI5OCIgZGF0YS11PSJodHRwcyUzQSUyRiUyRnd3dy5zYW50YW1vbmljYS5jb20lMkZ3cC1jb250ZW50JTJGdXBsb2FkcyUyRjIwMjIlMkYwNiUyRm5hdi10aGluZ3MuanBnIiBkYXRhLXc9IjM2OSIgZGF0YS1oPSIyOTgiIGRhdGEtYmlwPSIiPjwvc3ZnPg==" data-spai="1" class="dropdown__section-image" alt="things to do" decoding="async" /> </div> </ul> </div> </li> <li class="header__main-nav-item js-header-main-item " data-item-key="1"> <a href="https://www.santamonica.com/experience-santa-monica/" class="header__main-nav-item-link js-header-main-item-trigger --children" data-item-key="1" data-title="Inspiration" >Inspiration</a> <div class="header__main-nav-item-button"> <a href="https://www.santamonica.com/experience-santa-monica/" class="header__main-nav-item-mobile-link" >Inspiration</a> <div class="plus-minus-toggle js-header-dropdown-button" data-key="1"></div> </div> <div class="header__main-nav-dropdown --theme3 js-header-dropdown" data-dropdown-key="1"> <ul class="dropdown__container"> <div class="dropdown__section-title">Inspiration</div> <div class="dropdown__section-links"> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Experiences Guide</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/trip-planner/" class="dropdown__item-link gtm-header-nav-item" target="_blank"> <span class="dropdown__item-link-text">Build Your Experience</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/things-to-do/fun-for-kids-of-all-ages/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Families</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/arts-and-culture/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Arts & Culture</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/restaurants/dining-guide/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Foodie Guide</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/lgbtq/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">LGBTQ+</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/accessibility/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Accessibility</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/weddings/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Weddings</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/day-trips/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Day Trips</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/pet-friendly/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Pet-Friendly</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/neighborhoods/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Santa Monica Neighborhoods</span> </a> </li> </div> <div class="dropdown__section-image-wrapper"> <img width="369" height="298" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNjkgMjk4IiB3aWR0aD0iMzY5IiBoZWlnaHQ9IjI5OCIgZGF0YS11PSJodHRwcyUzQSUyRiUyRnd3dy5zYW50YW1vbmljYS5jb20lMkZ3cC1jb250ZW50JTJGdXBsb2FkcyUyRjIwMjIlMkYwNiUyRm5hdi1pbnNwaXJhdGlvbi5qcGciIGRhdGEtdz0iMzY5IiBkYXRhLWg9IjI5OCIgZGF0YS1iaXA9IiI+PC9zdmc+" data-spai="1" class="dropdown__section-image" alt="inspiration" decoding="async" /> </div> </ul> </div> </li> <li class="header__main-nav-item js-header-main-item " data-item-key="2"> <a href="https://www.santamonica.com/restaurants/dining-guide/" class="header__main-nav-item-link js-header-main-item-trigger --children" data-item-key="2" data-title="Food & Drink" >Food & Drink</a> <div class="header__main-nav-item-button"> <a href="https://www.santamonica.com/restaurants/dining-guide/" class="header__main-nav-item-mobile-link" >Food & Drink</a> <div class="plus-minus-toggle js-header-dropdown-button" data-key="2"></div> </div> <div class="header__main-nav-dropdown --theme3 js-header-dropdown" data-dropdown-key="2"> <ul class="dropdown__container"> <div class="dropdown__section-title">Food & Drink</div> <div class="dropdown__section-links"> <li class="dropdown__item "> <a href="https://www.santamonica.com/restaurants/dining-guide/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Food & Drink Hub</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/restaurants/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Find a Restaurant</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/restaurants/beach-restaurants/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Beach Restaurants</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/restaurants/local-restaurants/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Local Favorites</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/restaurants/outdoor-dining/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Outdoor Dining</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/restaurants/brunch/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Brunch</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/farmers-markets/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Farmers Market</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/nightlife/guide-to-santa-monica-bars/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Bars and Nightlife</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/restaurants/happy-hour/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Happy Hour</span> </a> </li> </div> <div class="dropdown__section-image-wrapper"> <img width="369" height="298" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNjkgMjk4IiB3aWR0aD0iMzY5IiBoZWlnaHQ9IjI5OCIgZGF0YS11PSJodHRwcyUzQSUyRiUyRnd3dy5zYW50YW1vbmljYS5jb20lMkZ3cC1jb250ZW50JTJGdXBsb2FkcyUyRjIwMjIlMkYwNiUyRm5hdi1mb29kLmpwZyIgZGF0YS13PSIzNjkiIGRhdGEtaD0iMjk4IiBkYXRhLWJpcD0iIj48L3N2Zz4=" data-spai="1" class="dropdown__section-image" alt="food and drink" decoding="async" /> </div> </ul> </div> </li> <li class="header__main-nav-item js-header-main-item " data-item-key="3"> <a href="https://www.santamonica.com/hotels/staying-in-santa-monica/" class="header__main-nav-item-link js-header-main-item-trigger --children" data-item-key="3" data-title="Hotels" >Hotels</a> <div class="header__main-nav-item-button"> <a href="https://www.santamonica.com/hotels/staying-in-santa-monica/" class="header__main-nav-item-mobile-link" >Hotels</a> <div class="plus-minus-toggle js-header-dropdown-button" data-key="3"></div> </div> <div class="header__main-nav-dropdown --theme3 js-header-dropdown" data-dropdown-key="3"> <ul class="dropdown__container"> <div class="dropdown__section-title">Hotels</div> <div class="dropdown__section-links"> <li class="dropdown__item "> <a href="https://www.santamonica.com/hotels/staying-in-santa-monica/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Staying in Santa Monica</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/hotels/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Find a Hotel</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/hotels/hotels-near-santa-monica-pier/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Beachfront</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/hotels/hotels-by-budget/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Hotels by Budget</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/hotels/hotels-by-neighborhood/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Hotels by Neighborhood</span> </a> </li> <li class="dropdown__item"> <a class="dropdown__item-button-one" href="https://book.santamonica.com/" target="_blank">Check Rates</a> </li> </div> <div class="dropdown__section-image-wrapper"> <img width="369" height="298" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNjkgMjk4IiB3aWR0aD0iMzY5IiBoZWlnaHQ9IjI5OCIgZGF0YS11PSJodHRwcyUzQSUyRiUyRnd3dy5zYW50YW1vbmljYS5jb20lMkZ3cC1jb250ZW50JTJGdXBsb2FkcyUyRjIwMjIlMkYwNiUyRm5hdi1ob3RlbHMuanBnIiBkYXRhLXc9IjM2OSIgZGF0YS1oPSIyOTgiIGRhdGEtYmlwPSIiPjwvc3ZnPg==" data-spai="1" class="dropdown__section-image" alt="hotels" decoding="async" /> </div> </ul> </div> </li> <li class="header__main-nav-item js-header-main-item " data-item-key="4"> <a href="https://www.santamonica.com/experience-santa-monica/essentials/" class="header__main-nav-item-link js-header-main-item-trigger --children" data-item-key="4" data-title="The Essentials" >The Essentials</a> <div class="header__main-nav-item-button"> <a href="https://www.santamonica.com/experience-santa-monica/essentials/" class="header__main-nav-item-mobile-link" >The Essentials</a> <div class="plus-minus-toggle js-header-dropdown-button" data-key="4"></div> </div> <div class="header__main-nav-dropdown --theme3 js-header-dropdown" data-dropdown-key="4"> <ul class="dropdown__container"> <div class="dropdown__section-title">The Essentials</div> <div class="dropdown__section-links"> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/essentials/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Essentials Hub</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/sustainability/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Travel Responsibly</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/what-to-pack/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">What to Pack</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/neighborhoods/downtown-santa-monica-3rd-street-promenade/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Downtown / Third Street Promenade</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/experience-santa-monica/accessibility/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Accessibility</span> </a> </li> <li class="dropdown__item "> <a href="https://www.santamonica.com/transportation/" class="dropdown__item-link gtm-header-nav-item" > <span class="dropdown__item-link-text">Transportation – Getting Around</span> </a> </li> <li class="dropdown__item"> <a class="dropdown__item-button-one" href="https://www.santamonica.com/request-santa-monica-vistors-guide/" >Visitor Guide</a> </li> <li class="dropdown__item"> <a class="dropdown__item-button-two" href="https://www.santamonica.com/newsletter/" >Newsletter</a> </li> </div> <div class="dropdown__section-image-wrapper"> <img width="369" height="298" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNjkgMjk4IiB3aWR0aD0iMzY5IiBoZWlnaHQ9IjI5OCIgZGF0YS11PSJodHRwcyUzQSUyRiUyRnd3dy5zYW50YW1vbmljYS5jb20lMkZ3cC1jb250ZW50JTJGdXBsb2FkcyUyRjIwMjIlMkYwNSUyRm5hdi1lc3NlbnRpYWxzLmpwZyIgZGF0YS13PSIzNjkiIGRhdGEtaD0iMjk4IiBkYXRhLWJpcD0iIj48L3N2Zz4=" data-spai="1" class="dropdown__section-image" alt="santa monica essentials" decoding="async" /> </div> </ul> </div> </li> </ul> <div class="header__main-nav-item js-header-main-item-aux --auxiliary --mobile"> <a href="https://book.santamonica.com/" class="header__main-nav-item-link --button --fade-first" target="_blank">Check Rates</a> </div> </nav> </div> <div class="header__main-nav-item js-header-main-item-aux --auxiliary --desktop"> <a href="https://book.santamonica.com/" class="header__main-nav-item-link --button --fade-first" target="_blank">Check Rates</a> <button class="header__button js-search auxiliary-item --search --no-bg --fade-first" type="button" aria-label="Open Search"> <svg class="search-icon" viewBox="0 0 33 33" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M19.4828 19.4828C23.0695 15.8961 23.0695 10.0809 19.4828 6.49425C15.8961 2.90756 10.081 2.90756 6.49427 6.49425C2.90759 10.0809 2.90759 15.8961 6.49427 19.4828C10.081 23.0695 15.8961 23.0695 19.4828 19.4828Z" stroke="#333F3F" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round" /> <line x1="20.0935" y1="19.2936" x2="26.6932" y2="25.8932" stroke="#333F3F" stroke-width="3.5" /> </svg> </button> </div> <button class="header__button --menu js-toggle-menu" aria-label="Toggle Menu"></button> </div> </div> </div> <div class="search-modal js-search-modal --theme4"> <button class="search-modal__cancel js-search-cancel" type="button"> <svg class="cancel-icon" width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M17.2928 0.929234C17.6833 1.31976 17.6833 1.95292 17.2928 2.34345L2.34346 17.2928C1.95294 17.6833 1.31977 17.6833 0.929248 17.2928L0.707107 17.0706C0.316582 16.6801 0.316583 16.0469 0.707107 15.6564L15.6564 0.707094C16.047 0.31657 16.6801 0.316569 17.0706 0.707093L17.2928 0.929234Z" /> <path fill-rule="evenodd" clip-rule="evenodd" d="M0.929721 0.707155C1.32025 0.31663 1.95341 0.316631 2.34393 0.707155L17.2933 15.6565C17.6838 16.047 17.6838 16.6802 17.2933 17.0707L17.0711 17.2928C16.6806 17.6834 16.0474 17.6834 15.6569 17.2928L0.707581 2.34351C0.317057 1.95298 0.317056 1.31982 0.70758 0.929296L0.929721 0.707155Z" /> </svg> Cancel </button> <form class="search-modal__form" method="get" action="https://www.santamonica.com/"> <input type="text" class="search-field" name="s" placeholder="What are you looking for?" value=""> <button class="search-submit" type="submit" aria-label="Submit Search"></button> </form> </div> </header> <div id="smooth-wrapper"> <div id="smooth-content"> <main id="content" class="main-content open-content site__body js-site-body"> <section class="sun-title sm-block --theme6 sm-block"> <h1 class="sun-title__headline">Santa Monica Publications</h1> <div class="sun-title__body wysiwyg"> <p>Planning your next trip to Santa Monica, California has never been easier! Request a free Santa Monica Official Visitors Guide or Official Visitors Map to be sent to you by filling out the <a href="#form">form</a> below. A digital version of the <a href="https://issuu.com/santamonicatravelandtourism/docs/santamonica-visitorguide-singlepages-2024.pdf?fr=xKAE9_zU1NQ" target="_blank" rel="noopener">visitors guide</a> and <a href="https://issuu.com/santamonicatravelandtourism/docs/2024_santa_monica_map?fr=xKAE9_zU1NQ" target="_blank" rel="noopener">visitors map</a> are also available for online viewing and to download below.</p> </div> </section> <div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-1 wp-block-columns-is-layout-flex base-block"> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow base-block"> <div style="position: relative; padding-top: max(60%,326px); height: 0; width: 85%; margin:0 auto;" class="base-block"><iframe style="position: absolute; border: none; width: 100%; height: 100%; right: 0; top: 0; bottom: 0;" src="https://issuu.com/santamonicatravelandtourism/docs/santamonica-visitorguide-singlepages-2024.pdf?fr=xKAE9_zU1NQ" sandbox="allow-top-navigation allow-top-navigation-by-user-activation allow-downloads allow-scripts allow-same-origin allow-popups allow-modals allow-popups-to-escape-sandbox" allowfullscreen="allowfullscreen"></iframe></div> </div> <div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow base-block"> <div style="position: relative; padding-top: max(60%,326px); height: 0; width: 85%;margin:0 auto;" class="base-block"><iframe style="position: absolute; border: none; width: 100%; height: 100%; left: 0; top: 0; bottom: 0; margin:0 auto;" src="https://issuu.com/santamonicatravelandtourism/docs/2024_santa_monica_map?fr=xKAE9_zU1NQ" sandbox="allow-top-navigation allow-top-navigation-by-user-activation allow-downloads allow-scripts allow-same-origin allow-popups allow-modals allow-popups-to-escape-sandbox" allowfullscreen="allowfullscreen"></iframe></div> </div> </div> <section class="simpleview-form-block sm-block" id="form"> <h2 class="simpleview-form-block__heading"> Request a Visitor Guide and Map </h2> <div class="simpleview-form-block__form sm-form"> <form action="" method="post" name="frm_3" class="simpleForm" onsubmit="return svcrm.formBuilderScripts.validateForm(this);"> <input id="formid" name="formid" type="hidden" value="3"> <input id="groupid" name="groupid" type="hidden" value="5"> <input id="isSubmitted" name="isSubmitted" value="1" type="hidden"> <h3>Request Form</h3> <p class="text-center"></p><p style="text-align: center;">Fill out the form below to receive free Santa Monica Publications in the mail.<br>Please allow at least 5 business days for delivery.</p> <div id="rowcontainer_contact_fname" class="row"> <div id="labelcontainer_contact_fname" class="medium-3 columns"> <div id="td_contact_fname"> <label id="label_contact_fname" for="contact_fname" class=" formreq">First Name*:</label> </div> </div> <div id="fieldcontainer_contact_fname" class="medium-9 columns"> <input class=" " id="contact_fname" name="contact_fname" type="text" size="25" value=""> </div> </div> <div id="rowcontainer_contact_lname" class="row"> <div id="labelcontainer_contact_lname" class="medium-3 columns"> <div id="td_contact_lname"> <label id="label_contact_lname" for="contact_lname" class=" formreq">Last Name*:</label> </div> </div> <div id="fieldcontainer_contact_lname" class="medium-9 columns"> <input class=" " id="contact_lname" name="contact_lname" type="text" size="25" value=""> </div> </div> <div id="rowcontainer_contact_addr1" class="row"> <div id="labelcontainer_contact_addr1" class="medium-3 columns"> <div id="td_contact_addr1"> <label id="label_contact_addr1" for="contact_addr1" class=" formreq">Address*:</label> </div> </div> <div id="fieldcontainer_contact_addr1" class="medium-9 columns"> <input class=" " id="contact_addr1" name="contact_addr1" type="text" size="25" value=""> </div> </div> <div id="rowcontainer_contact_city" class="row"> <div id="labelcontainer_contact_city" class="medium-3 columns"> <div id="td_contact_city"> <label id="label_contact_city" for="contact_city" class=" formreq">City*:</label> </div> </div> <div id="fieldcontainer_contact_city" class="medium-9 columns"> <input class=" " id="contact_city" name="contact_city" type="text" size="25" value=""> </div> </div> <div id="rowcontainer_contact_state" class="row"> <div id="labelcontainer_contact_state" class="medium-3 columns"> <div id="td_contact_state"> <label id="label_contact_state" for="contact_state" class=" formreq">State*:</label> </div> </div> <div id="fieldcontainer_contact_state" class="medium-9 columns"> <select class=" " id="contact_state" name="contact_state"> <option value="">–None–</option> <option value="**">** – **</option> <option value="AB">AB – Alberta</option> <option value="AK">AK – Alaska</option> <option value="AL">AL – Alabama</option> <option value="AR">AR – Arkansas</option> <option value="AZ">AZ – Arizona</option> <option value="BC">BC – British Columbia</option> <option value="CA">CA – California</option> <option value="CO">CO – Colorado</option> <option value="CT">CT – Connecticut</option> <option value="DC">DC – District of Columbia</option> <option value="DE">DE – Delaware</option> <option value="FL">FL – Florida</option> <option value="GA">GA – Georgia</option> <option value="HI">HI – Hawaii</option> <option value="IA">IA – Iowa</option> <option value="ID">ID – Idaho</option> <option value="IL">IL – Illinois</option> <option value="IN">IN – Indiana</option> <option value="KS">KS – Kansas</option> <option value="KY">KY – Kentucky</option> <option value="LA">LA – Louisiana</option> <option value="MA">MA – Massachusetts</option> <option value="MB">MB – Manitoba</option> <option value="MD">MD – Maryland</option> <option value="ME">ME – Maine</option> <option value="MH">MH – Marshall Islands</option> <option value="MI">MI – Michigan</option> <option value="MN">MN – Minnesota</option> <option value="MO">MO – Missouri</option> <option value="MS">MS – Mississippi</option> <option value="MT">MT – Montana</option> <option value="NB">NB – New Brunswick</option> <option value="NC">NC – North Carolina</option> <option value="ND">ND – North Dakota</option> <option value="NE">NE – Nebraska</option> <option value="NH">NH – New Hampshire</option> <option value="NJ">NJ – New Jersey</option> <option value="NL">NL – Newfoundland and Labrador</option> <option value="NM">NM – New Mexico</option> <option value="NS">NS – Nova Scotia</option> <option value="NSW">NSW – New South Wales</option> <option value="NT">NT – Northwest Territory</option> <option value="NU">NU – Nunavut</option> <option value="NV">NV – Nevada</option> <option value="NY">NY – New York</option> <option value="OH">OH – Ohio</option> <option value="OK">OK – Oklahoma</option> <option value="ON">ON – Ontario</option> <option value="OR">OR – Oregon</option> <option value="PA">PA – Pennsylvania</option> <option value="PE">PE – Prince Edward Island</option> <option value="QC">QC – Quebec</option> <option value="Qld">Qld – Queensland</option> <option value="RI">RI – Rhode Island</option> <option value="SA">SA – South Australia</option> <option value="SC">SC – South Carolina</option> <option value="SD">SD – South Dakota</option> <option value="SK">SK – Saskatchewan</option> <option value="Tas">Tas – Tasmania</option> <option value="TN">TN – Tennessee</option> <option value="TX">TX – Texas</option> <option value="UT">UT – Utah</option> <option value="VA">VA – Virginia</option> <option value="Vic">Vic – Victoria</option> <option value="VT">VT – Vermont</option> <option value="WA">WA – Washington</option> <option value="WA">WA – Western Australia</option> <option value="WI">WI – Wisconsin</option> <option value="WV">WV – West Virginia</option> <option value="WY">WY – Wyoming</option> <option value="YT">YT – Yukon</option> </select> <p class="hint">Select ** if this does not apply</p> </div> </div> <div id="rowcontainer_contact_zip" class="row"> <div id="labelcontainer_contact_zip" class="medium-3 columns"> <div id="td_contact_zip"> <label id="label_contact_zip" for="contact_zip" class=" formreq">Zip*:</label> </div> </div> <div id="fieldcontainer_contact_zip" class="medium-9 columns"> <input class=" " id="contact_zip" name="contact_zip" type="text" size="20" value="" onblur="svcrm.formBuilderScripts.zipLookup('/', this.value, document.frm_3.contact_city, document.frm_3.contact_state, true); "> </div> </div> <div id="rowcontainer_contact_country" class="row"> <div id="labelcontainer_contact_country" class="medium-3 columns"> <div id="td_contact_country"> <label id="label_contact_country" for="contact_country" class=" formreq">Country*:</label> </div> </div> <div id="fieldcontainer_contact_country" class="medium-9 columns"> <select class=" " id="contact_country" name="contact_country" onchange="svcrm.formBuilderScripts.updReq();svcrm.formBuilderScripts.countryChanged(this);"> <option value="">–None–</option> <option value="UNITED STATES">UNITED STATES</option> <option value="CANADA">CANADA</option> <option value="MEXICO">MEXICO</option> <option value="AFGHANISTAN">AFGHANISTAN</option> <option value="Ã LAND ISLANDS">Ã LAND ISLANDS</option> <option value="ALBANIA">ALBANIA</option> <option value="ALGERIA">ALGERIA</option> <option value="AMERICAN SAMOA">AMERICAN SAMOA</option> <option value="ANDORRA">ANDORRA</option> <option value="ANGOLA">ANGOLA</option> <option value="ANGUILLA">ANGUILLA</option> <option value="ANTARCTICA">ANTARCTICA</option> <option value="ANTIGUA AND BARBUDA">ANTIGUA AND BARBUDA</option> <option value="ARGENTINA">ARGENTINA</option> <option value="ARMENIA">ARMENIA</option> <option value="ARUBA">ARUBA</option> <option value="AUSTRALIA">AUSTRALIA</option> <option value="AUSTRIA">AUSTRIA</option> <option value="AZERBAIJAN">AZERBAIJAN</option> <option value="BAHAMAS">BAHAMAS</option> <option value="BAHRAIN">BAHRAIN</option> <option value="BANGLADESH">BANGLADESH</option> <option value="BARBADOS">BARBADOS</option> <option value="BELARUS">BELARUS</option> <option value="BELGIUM">BELGIUM</option> <option value="BELIZE">BELIZE</option> <option value="BENIN">BENIN</option> <option value="BERMUDA">BERMUDA</option> <option value="BHUTAN">BHUTAN</option> <option value="BOLIVIA">BOLIVIA</option> <option value="BOSNIA AND HERZEGOVINA">BOSNIA AND HERZEGOVINA</option> <option value="BOTSWANA">BOTSWANA</option> <option value="BOUVET ISLAND">BOUVET ISLAND</option> <option value="BRAZIL">BRAZIL</option> <option value="BRITISH INDIAN OCEAN TERRITORY">BRITISH INDIAN OCEAN TERRITORY</option> <option value="BRUNEI DARUSSALAM">BRUNEI DARUSSALAM</option> <option value="BULGARIA">BULGARIA</option> <option value="BURKINA FASO">BURKINA FASO</option> <option value="BURUNDI">BURUNDI</option> <option value="CAMBODIA">CAMBODIA</option> <option value="CAMEROON">CAMEROON</option> <option value="CANARY ISLANDS">CANARY ISLANDS</option> <option value="CAPE VERDE">CAPE VERDE</option> <option value="CAYMAN ISLANDS">CAYMAN ISLANDS</option> <option value="CENTRAL AFRICAN REPUBLIC">CENTRAL AFRICAN REPUBLIC</option> <option value="CHAD">CHAD</option> <option value="CHILE">CHILE</option> <option value="CHINA">CHINA</option> <option value="CHRISTMAS ISLAND">CHRISTMAS ISLAND</option> <option value="COCOS (KEELING) ISLANDS">COCOS (KEELING) ISLANDS</option> <option value="COLOMBIA">COLOMBIA</option> <option value="COMOROS">COMOROS</option> <option value="CONGO">CONGO</option> <option value="CONGO - DEM REPUBLIC OF">CONGO – DEM REPUBLIC OF</option> <option value="COOK ISLANDS">COOK ISLANDS</option> <option value="COSTA RICA">COSTA RICA</option> <option value="CÃTE D'IVOIRE">CÃTE D’IVOIRE</option> <option value="CROATIA">CROATIA</option> <option value="CUBA">CUBA</option> <option value="CURACAO">CURACAO</option> <option value="CYPRUS">CYPRUS</option> <option value="CZECH REPUBLIC">CZECH REPUBLIC</option> <option value="DENMARK">DENMARK</option> <option value="DJIBOUTI">DJIBOUTI</option> <option value="DOMINICA">DOMINICA</option> <option value="DOMINICAN REPUBLIC">DOMINICAN REPUBLIC</option> <option value="ECUADOR">ECUADOR</option> <option value="EGYPT">EGYPT</option> <option value="EL SALVADOR">EL SALVADOR</option> <option value="EQUATORIAL GUINEA">EQUATORIAL GUINEA</option> <option value="ERITREA">ERITREA</option> <option value="ESTONIA">ESTONIA</option> <option value="ETHIOPIA">ETHIOPIA</option> <option value="FALKLAND ISLANDS (MALVINAS)">FALKLAND ISLANDS (MALVINAS)</option> <option value="FAROE ISLANDS">FAROE ISLANDS</option> <option value="FIJI">FIJI</option> <option value="FINLAND">FINLAND</option> <option value="FRANCE">FRANCE</option> <option value="FRENCH GUIANA">FRENCH GUIANA</option> <option value="FRENCH POLYNESIA">FRENCH POLYNESIA</option> <option value="FRENCH SOUTHERN TERRITORIES">FRENCH SOUTHERN TERRITORIES</option> <option value="GABON">GABON</option> <option value="GAMBIA">GAMBIA</option> <option value="GEORGIA">GEORGIA</option> <option value="GERMANY">GERMANY</option> <option value="GHANA">GHANA</option> <option value="GIBRALTAR">GIBRALTAR</option> <option value="GREECE">GREECE</option> <option value="GREENLAND">GREENLAND</option> <option value="GRENADA">GRENADA</option> <option value="GUADELOUPE">GUADELOUPE</option> <option value="GUAM">GUAM</option> <option value="GUATEMALA">GUATEMALA</option> <option value="GUERNSEY">GUERNSEY</option> <option value="GUINEA">GUINEA</option> <option value="GUINEA-BISSAU">GUINEA-BISSAU</option> <option value="GUYANA">GUYANA</option> <option value="HAITI">HAITI</option> <option value="HEARD ISLAND AND MCDONALD ISLANDS">HEARD ISLAND AND MCDONALD ISLANDS</option> <option value="HOLY SEE (VATICAN CITY STATE)">HOLY SEE (VATICAN CITY STATE)</option> <option value="HONDURAS">HONDURAS</option> <option value="HONG KONG">HONG KONG</option> <option value="HUNGARY">HUNGARY</option> <option value="ICELAND">ICELAND</option> <option value="INDIA">INDIA</option> <option value="INDONESIA">INDONESIA</option> <option value="IRAN, ISLAMIC REPUBLIC OF">IRAN, ISLAMIC REPUBLIC OF</option> <option value="IRAQ">IRAQ</option> <option value="IRELAND">IRELAND</option> <option value="ISLE OF MAN">ISLE OF MAN</option> <option value="ISRAEL">ISRAEL</option> <option value="ITALY">ITALY</option> <option value="JAMAICA">JAMAICA</option> <option value="JAPAN">JAPAN</option> <option value="JERSEY">JERSEY</option> <option value="JORDAN">JORDAN</option> <option value="KAZAKHSTAN">KAZAKHSTAN</option> <option value="KENYA">KENYA</option> <option value="KIRIBATI">KIRIBATI</option> <option value="KOREA, REPUBLIC OF">KOREA, REPUBLIC OF</option> <option value="KOSRAE">KOSRAE</option> <option value="KUWAIT">KUWAIT</option> <option value="KYRGYZSTAN">KYRGYZSTAN</option> <option value="LAO PEOPLE'S DEMOCRATIC REPUBLIC">LAO PEOPLE’S DEMOCRATIC REPUBLIC</option> <option value="LATVIA">LATVIA</option> <option value="LEBANON">LEBANON</option> <option value="LESOTHO">LESOTHO</option> <option value="LIBERIA">LIBERIA</option> <option value="LIBYAN ARAB JAMAHIRIYA">LIBYAN ARAB JAMAHIRIYA</option> <option value="LIECHTENSTEIN">LIECHTENSTEIN</option> <option value="LITHUANIA">LITHUANIA</option> <option value="LUXEMBOURG">LUXEMBOURG</option> <option value="MACAO">MACAO</option> <option value="MACEDONIA">MACEDONIA</option> <option value="MADAGASCAR">MADAGASCAR</option> <option value="MALAWI">MALAWI</option> <option value="MALAYSIA">MALAYSIA</option> <option value="MALDIVES">MALDIVES</option> <option value="MALI">MALI</option> <option value="MALTA">MALTA</option> <option value="MARSHALL ISLANDS">MARSHALL ISLANDS</option> <option value="MARTINIQUE">MARTINIQUE</option> <option value="MAURITANIA">MAURITANIA</option> <option value="MAURITIUS">MAURITIUS</option> <option value="MAYOTTE">MAYOTTE</option> <option value="MICRONESIA, FEDERATED STATES OF">MICRONESIA, FEDERATED STATES OF</option> <option value="MOLDOVA, REPUBLIC OF">MOLDOVA, REPUBLIC OF</option> <option value="MONACO">MONACO</option> <option value="MONGOLIA">MONGOLIA</option> <option value="MONTENEGRO">MONTENEGRO</option> <option value="MONTSERRAT">MONTSERRAT</option> <option value="MOROCCO">MOROCCO</option> <option value="MOZAMBIQUE">MOZAMBIQUE</option> <option value="MYANMAR">MYANMAR</option> <option value="NAMIBIA">NAMIBIA</option> <option value="NAURU">NAURU</option> <option value="NEPAL">NEPAL</option> <option value="NETHERLANDS">NETHERLANDS</option> <option value="NETHERLANDS ANTILLES">NETHERLANDS ANTILLES</option> <option value="NEW CALEDONIA">NEW CALEDONIA</option> <option value="NEW ZEALAND">NEW ZEALAND</option> <option value="NICARAGUA">NICARAGUA</option> <option value="NIGER">NIGER</option> <option value="NIGERIA">NIGERIA</option> <option value="NIUE">NIUE</option> <option value="NORFOLK ISLAND">NORFOLK ISLAND</option> <option value="NORTH KOREA">NORTH KOREA</option> <option value="NORTHERN MARIANA ISLANDS">NORTHERN MARIANA ISLANDS</option> <option value="NORWAY">NORWAY</option> <option value="OMAN">OMAN</option> <option value="PAKISTAN">PAKISTAN</option> <option value="PALAU">PALAU</option> <option value="PALESTINIAN TERRITORY, OCCUPIED">PALESTINIAN TERRITORY, OCCUPIED</option> <option value="PANAMA">PANAMA</option> <option value="PAPUA NEW GUINEA">PAPUA NEW GUINEA</option> <option value="PARAGUAY">PARAGUAY</option> <option value="PERU">PERU</option> <option value="PHILIPPINES">PHILIPPINES</option> <option value="PITCAIRN">PITCAIRN</option> <option value="POLAND">POLAND</option> <option value="PONAPE">PONAPE</option> <option value="PORTUGAL">PORTUGAL</option> <option value="PUERTO RICO">PUERTO RICO</option> <option value="QATAR">QATAR</option> <option value="RÃUNION">RÃUNION</option> <option value="ROMANIA">ROMANIA</option> <option value="RUSSIAN FEDERATION">RUSSIAN FEDERATION</option> <option value="RWANDA">RWANDA</option> <option value="S. GEORGIA AND S. SANDWICH ISLES">S. GEORGIA AND S. SANDWICH ISLES</option> <option value="SABA">SABA</option> <option value="SAINT BARTHÃLEMY">SAINT BARTHÃLEMY</option> <option value="SAINT HELENA">SAINT HELENA</option> <option value="SAINT KITTS AND NEVIS">SAINT KITTS AND NEVIS</option> <option value="SAINT LUCIA">SAINT LUCIA</option> <option value="SAINT MARTIN">SAINT MARTIN</option> <option value="SAINT PIERRE AND MIQUELON">SAINT PIERRE AND MIQUELON</option> <option value="SAINT VINCENT AND THE GRENADINES">SAINT VINCENT AND THE GRENADINES</option> <option value="SAIPAN">SAIPAN</option> <option value="SAMOA">SAMOA</option> <option value="SAN MARINO">SAN MARINO</option> <option value="SAO TOME AND PRINCIPE">SAO TOME AND PRINCIPE</option> <option value="SAUDI ARABIA">SAUDI ARABIA</option> <option value="SCOTLAND">SCOTLAND</option> <option value="SENEGAL">SENEGAL</option> <option value="SERBIA">SERBIA</option> <option value="SEYCHELLES">SEYCHELLES</option> <option value="SIERRA LEONE">SIERRA LEONE</option> <option value="SINGAPORE">SINGAPORE</option> <option value="SLOVAKIA">SLOVAKIA</option> <option value="SLOVENIA">SLOVENIA</option> <option value="SOLOMON ISLANDS">SOLOMON ISLANDS</option> <option value="SOMALIA">SOMALIA</option> <option value="SOUTH AFRICA">SOUTH AFRICA</option> <option value="SPAIN">SPAIN</option> <option value="SRI LANKA">SRI LANKA</option> <option value="ST. BARTHELEMY">ST. BARTHELEMY</option> <option value="ST. CHRISTOPHER">ST. CHRISTOPHER</option> <option value="ST. CROIX">ST. CROIX</option> <option value="ST. EUSTATIUS">ST. EUSTATIUS</option> <option value="ST. JOHN">ST. JOHN</option> <option value="ST. MAARTEN">ST. MAARTEN</option> <option value="ST. MARTIN">ST. MARTIN</option> <option value="ST. THOMAS">ST. THOMAS</option> <option value="SUDAN">SUDAN</option> <option value="SURINAME">SURINAME</option> <option value="SVALBARD AND JAN MAYEN">SVALBARD AND JAN MAYEN</option> <option value="SWAZILAND">SWAZILAND</option> <option value="SWEDEN">SWEDEN</option> <option value="SWITZERLAND">SWITZERLAND</option> <option value="SYRIAN ARAB REPUBLIC">SYRIAN ARAB REPUBLIC</option> <option value="TAIWAN, PROVINCE OF CHINA">TAIWAN, PROVINCE OF CHINA</option> <option value="TAJIKISTAN">TAJIKISTAN</option> <option value="TANZANIA, UNITED REPUBLIC OF">TANZANIA, UNITED REPUBLIC OF</option> <option value="THAILAND">THAILAND</option> <option value="TIMOR-LESTE">TIMOR-LESTE</option> <option value="TINIAN">TINIAN</option> <option value="TOGO">TOGO</option> <option value="TOKELAU">TOKELAU</option> <option value="TONGA">TONGA</option> <option value="TORTOLA">TORTOLA</option> <option value="TRINIDAD AND TOBAGO">TRINIDAD AND TOBAGO</option> <option value="TRUK">TRUK</option> <option value="TUNISIA">TUNISIA</option> <option value="TURKEY">TURKEY</option> <option value="TURKMENISTAN">TURKMENISTAN</option> <option value="TURKS AND CAICOS ISLANDS">TURKS AND CAICOS ISLANDS</option> <option value="TUVALU">TUVALU</option> <option value="UGANDA">UGANDA</option> <option value="UKRAINE">UKRAINE</option> <option value="UNION ISLAND">UNION ISLAND</option> <option value="UNITED ARAB EMIRATES">UNITED ARAB EMIRATES</option> <option value="UNITED KINGDOM">UNITED KINGDOM</option> <option value="URUGUAY">URUGUAY</option> <option value="US MINOR OUTLYING ISLANDS">US MINOR OUTLYING ISLANDS</option> <option value="UZBEKISTAN">UZBEKISTAN</option> <option value="VANUATU">VANUATU</option> <option value="VENEZUELA, BOLIVARIAN REPUBLIC OF">VENEZUELA, BOLIVARIAN REPUBLIC OF</option> <option value="VIET NAM">VIET NAM</option> <option value="VIRGIN ISLANDS, BRITISH">VIRGIN ISLANDS, BRITISH</option> <option value="VIRGIN ISLANDS, U.S.">VIRGIN ISLANDS, U.S.</option> <option value="WALES">WALES</option> <option value="WALLIS AND FUTUNA">WALLIS AND FUTUNA</option> <option value="WESTERN SAHARA">WESTERN SAHARA</option> <option value="YAP">YAP</option> <option value="YEMEN">YEMEN</option> <option value="ZAIRE">ZAIRE</option> <option value="ZAMBIA">ZAMBIA</option> <option value="ZIMBABWE">ZIMBABWE</option> </select> <input id="statectry" name="statectry" type="hidden" value="CANADA,UNITED STATES"> <input id="zipctry" name="zipctry" type="hidden" value="CANADA,MEXICO,UNITED STATES"> </div> </div> <div id="rowcontainer_udf_37" class="row"> <div id="labelcontainer_udf_37" class="medium-3 columns"> <div id="td_udf_37"> <label id="label_udf_37" for="udf_37" class=" formreq">Please send me*:</label> </div> </div> <div id="fieldcontainer_udf_37" class="medium-9 columns"> <table border="0" cellpadding="2" cellspacing="0" width="100%"> <tr valign="top"> <td width="100%" nowrap> <input class=" " id="udf_37_89" name="udf_37" type="checkbox" value="89"><label for="udf_37_89"> Official Visitors Guide </label><br> <input class=" " id="udf_37_91" name="udf_37" type="checkbox" value="91"><label for="udf_37_91"> Official Visitors Map </label><br> </td></tr> </table> </div> </div> <div id="rowcontainer_contact_sendemail" class="row"> <div class="medium-3 columns"></div> <div id="fieldcontainer_contact_sendemail" class="medium-9 columns"> <input class=" " id="contact_sendemail" name="contact_sendemail" type="checkbox" value="1"><label class=" formtext" for="contact_sendemail"> Yes! Please send me your eNewsletter </label> </div> </div> <div id="rowcontainer_contact_email" class="row"> <div id="labelcontainer_contact_email" class="medium-3 columns"> <div id="td_contact_email"> <label id="label_contact_email" for="contact_email" class=" formtext">Email:</label> </div> </div> <div id="fieldcontainer_contact_email" class="medium-9 columns"> <input class=" " id="contact_email" name="contact_email" type="text" size="25" value="" onblur="svcrm.formBuilderScripts.checkEmail(this); "> </div> </div> <h3>Privacy Policy</h3> <p class="text-center"></p><p>Please confirm that you have read and agree to our <a href="https://www.santamonica.com/privacy-policy/" target="_blank">Privacy Policy</a> before continuing.</p> <div id="rowcontainer_udf_927" class="row"> <div id="labelcontainer_udf_927" class="medium-3 columns"> <div id="td_udf_927"> <label id="label_udf_927" class=" formreq">I have read the privacy policy and agree*:</label> </div> </div> <div id="fieldcontainer_udf_927" class="medium-9 columns"> <fieldset style="border:0px;"> <legend style="display:none;">udf_927</legend> <input class=" " id="udf_927_1" name="udf_927" type="radio" value="1"><label class=" formreq" for="udf_927_1"> Yes </label> <input class=" " id="udf_927_0" name="udf_927" type="radio" value="0"><label class=" formreq" for="udf_927_0"> No </label> </fieldset> </div> </div> <p class="hint formreq text-center">* Indicates a required field.</p> <hr size="1" color="cccccc" width="100%"> <div class="row"> <div class="medium-6 small-centered captcha columns"> <div id="g-recaptcha" class="g-recaptcha"></div> <input type="hidden" name="code" id="code" value="1234"> <input type="hidden" name="code_key" id="code_key" value="rO0ABXQABDEyMzQ="> </div> </div> <hr size="1" color="cccccc" width="100%"> <div class="row"> <div class="medium-6 small-centered columns formCntrls"> <label for="savefrm_button" style="display:none;">Submit</label> <input class="button" id="savefrm_button" name="savefrm" type="Submit" value="Submit"> <label for="resetfrm_button" style="display:none;">Reset</label> <input class="button" id="resetfrm_button" type="Reset" value="Reset"> </div> </div> </form> </div> </section> </main> <footer class="footer js-site-footer --theme3"> <div class="footer__wrapper-outer"> <div class="footer__top-row-wrapper"> <div class="footer__top-row-inner"> <div class="footer__top-row-first-content"> <div class="footer__top-row-first-eyebrow">Set up your home base</div> <div class="footer__top-row-first-title">Start Planning your visit</div> </div> <div class="footer__top-row-second-content"> <div class="footer__top-row-second-title">Get the Santa Monica vibe in your inbox</div> <div class="footer__top-row-second-description">Receive helpful tips and updates to plan your next vacation</div> <div class="footer__top-row-second-email-signup"> <a href="https://www.santamonica.com/newsletter-signup" class="footer__newsletter-button" aria-label="newsletter sign up">sign up</a> </div> </div> <div class="footer__top-row-third-content"> <div class="footer__top-row-third-visitor-guide-wrapper"> <div class="footer__top-row-third-visitor-guide"> <a href="https://www.santamonica.com/request-santa-monica-vistors-guide/" class="footer__top-row-third-visitor-guide-link" aria-label="Visitor Guide & City Map"> <img width="184" height="191" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxODQgMTkxIiB3aWR0aD0iMTg0IiBoZWlnaHQ9IjE5MSIgZGF0YS11PSJodHRwcyUzQSUyRiUyRnd3dy5zYW50YW1vbmljYS5jb20lMkZ3cC1jb250ZW50JTJGdXBsb2FkcyUyRjIwMjMlMkYxMSUyRlNNVFQtVkctTWFwLWRyb3Atc2hhZG93LnBuZyIgZGF0YS13PSIxODQiIGRhdGEtaD0iMTkxIiBkYXRhLWJpcD0iIj48L3N2Zz4=" data-spai="1" class="footer__top-row-third-visitor-guide-img" alt="" decoding="async" /> <div class="footer__top-row-third-visitor-guide-text">Visitor Guide <br />& City Map</div> </a> </div> </div> </div> </div> </div> <div class="footer__mid-row-wrapper"> <div class="footer__mid-row-inner"> <div class="footer__mid-row-first-content"> <div class="footer__mid-row-first-logo"> <a class="footer__mid-row-first-logo-link" href="https://www.santamonica.com" aria-label="SantaMonica.com"> <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTMgNzIiIHdpZHRoPSIxOTMiIGhlaWdodD0iNzIiIGRhdGEtdT0iaHR0cHMlM0ElMkYlMkZ3d3cuc2FudGFtb25pY2EuY29tJTJGd3AtY29udGVudCUyRnVwbG9hZHMlMkYyMDI0JTJGMDUlMkZTVEFDS0VELVNLWS1CTFVFLVByZWZlcnJlZC5wbmciIGRhdGEtdz0iMTkzIiBkYXRhLWg9IjcyIiBkYXRhLWJpcD0iIj48L3N2Zz4=" data-spai="1" alt="Santa Monica Logo" class="footer__mid-row-first-logo-image"> </a> </div> <div class="footer__mid-row-first-socials"> <ul class=footer__mid-row-first-social-items> <li class="footer__mid-row-first-social-item"> <a href="http://www.facebook.com/visitsantamonica" class="footer__mid-row-first-social-link" target="_blank" aria-label="facebook"> <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNiAyNiIgd2lkdGg9IjI2IiBoZWlnaHQ9IjI2IiBkYXRhLXU9Imh0dHBzJTNBJTJGJTJGd3d3LnNhbnRhbW9uaWNhLmNvbSUyRndwLWNvbnRlbnQlMkZ0aGVtZXMlMkZzYW50YW1vbmljYSUyRnNyYyUyRmltYWdlcyUyRmljb25zJTJGc29jaWFsJTJGZmFjZWJvb2suc3ZnIiBkYXRhLXc9IjI2IiBkYXRhLWg9IjI2IiBkYXRhLWJpcD0iIj48L3N2Zz4=" data-spai="1" alt="facebook icon" class="footer__mid-row-first-social-icon"> </a> </li> <li class="footer__mid-row-first-social-item"> <a href="http://www.twitter.com/gosantamonica" class="footer__mid-row-first-social-link" target="_blank" aria-label="x"> <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNSAzMCIgd2lkdGg9IjI1IiBoZWlnaHQ9IjMwIiBkYXRhLXU9Imh0dHBzJTNBJTJGJTJGd3d3LnNhbnRhbW9uaWNhLmNvbSUyRndwLWNvbnRlbnQlMkZ0aGVtZXMlMkZzYW50YW1vbmljYSUyRnNyYyUyRmltYWdlcyUyRmljb25zJTJGc29jaWFsJTJGeC5zdmciIGRhdGEtdz0iMjUiIGRhdGEtaD0iMzAiIGRhdGEtYmlwPSIiPjwvc3ZnPg==" data-spai="1" alt="x icon" class="footer__mid-row-first-social-icon"> </a> </li> <li class="footer__mid-row-first-social-item"> <a href="http://instagram.com/seesantamonica" class="footer__mid-row-first-social-link" target="_blank" aria-label="instagram"> <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMCAzMCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiBkYXRhLXU9Imh0dHBzJTNBJTJGJTJGd3d3LnNhbnRhbW9uaWNhLmNvbSUyRndwLWNvbnRlbnQlMkZ0aGVtZXMlMkZzYW50YW1vbmljYSUyRnNyYyUyRmltYWdlcyUyRmljb25zJTJGc29jaWFsJTJGaW5zdGFncmFtLnN2ZyIgZGF0YS13PSIzMCIgZGF0YS1oPSIzMCIgZGF0YS1iaXA9IiI+PC9zdmc+" data-spai="1" alt="instagram icon" class="footer__mid-row-first-social-icon"> </a> </li> <li class="footer__mid-row-first-social-item"> <a href="https://www.youtube.com/user/TravelSantaMonica" class="footer__mid-row-first-social-link" target="_blank" aria-label="youtube"> <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOSAzMCIgd2lkdGg9IjI5IiBoZWlnaHQ9IjMwIiBkYXRhLXU9Imh0dHBzJTNBJTJGJTJGd3d3LnNhbnRhbW9uaWNhLmNvbSUyRndwLWNvbnRlbnQlMkZ0aGVtZXMlMkZzYW50YW1vbmljYSUyRnNyYyUyRmltYWdlcyUyRmljb25zJTJGc29jaWFsJTJGeW91dHViZS5zdmciIGRhdGEtdz0iMjkiIGRhdGEtaD0iMzAiIGRhdGEtYmlwPSIiPjwvc3ZnPg==" data-spai="1" alt="youtube icon" class="footer__mid-row-first-social-icon"> </a> </li> <li class="footer__mid-row-first-social-item"> <a href="https://www.linkedin.com/company/santa-monica-travel-and-tourism" class="footer__mid-row-first-social-link" target="_blank" aria-label="linkedin"> <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOSAzMCIgd2lkdGg9IjI5IiBoZWlnaHQ9IjMwIiBkYXRhLXU9Imh0dHBzJTNBJTJGJTJGd3d3LnNhbnRhbW9uaWNhLmNvbSUyRndwLWNvbnRlbnQlMkZ0aGVtZXMlMkZzYW50YW1vbmljYSUyRnNyYyUyRmltYWdlcyUyRmljb25zJTJGc29jaWFsJTJGbGlua2VkaW4uc3ZnIiBkYXRhLXc9IjI5IiBkYXRhLWg9IjMwIiBkYXRhLWJpcD0iIj48L3N2Zz4=" data-spai="1" alt="linkedin icon" class="footer__mid-row-first-social-icon"> </a> </li> <li class="footer__mid-row-first-social-item"> <a href="http://pinterest.com/lovesantamonica" class="footer__mid-row-first-social-link" target="_blank" aria-label="pinterest"> <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyOSAzMCIgd2lkdGg9IjI5IiBoZWlnaHQ9IjMwIiBkYXRhLXU9Imh0dHBzJTNBJTJGJTJGd3d3LnNhbnRhbW9uaWNhLmNvbSUyRndwLWNvbnRlbnQlMkZ0aGVtZXMlMkZzYW50YW1vbmljYSUyRnNyYyUyRmltYWdlcyUyRmljb25zJTJGc29jaWFsJTJGcGludGVyZXN0LnN2ZyIgZGF0YS13PSIyOSIgZGF0YS1oPSIzMCIgZGF0YS1iaXA9IiI+PC9zdmc+" data-spai="1" alt="pinterest icon" class="footer__mid-row-first-social-icon"> </a> </li> <li class="footer__mid-row-first-social-item"> <a href="https://www.tripadvisor.com/Tourism-g33052-Santa_Monica_California-Vacations.html" class="footer__mid-row-first-social-link" target="_blank" aria-label="tripadvisor"> <img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNCAzNCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0IiBkYXRhLXU9Imh0dHBzJTNBJTJGJTJGd3d3LnNhbnRhbW9uaWNhLmNvbSUyRndwLWNvbnRlbnQlMkZ0aGVtZXMlMkZzYW50YW1vbmljYSUyRnNyYyUyRmltYWdlcyUyRmljb25zJTJGc29jaWFsJTJGdHJpcGFkdmlzb3Iuc3ZnIiBkYXRhLXc9IjM0IiBkYXRhLWg9IjM0IiBkYXRhLWJpcD0iIj48L3N2Zz4=" data-spai="1" alt="tripadvisor icon" class="footer__mid-row-first-social-icon"> </a> </li> </ul> </div> <address class="footer__mid-row-first-address">2427 Main Street, Santa Monica, CA 90405</address> <div class="footer__mid-row-first-contact"> <a href="tel:1 (800) 544-5319" class="footer__mid-row-first-tel" aria-label="1 (800) 544-5319">1 (800) 544-5319</a> <span> \ </span> <a href="https://www.santamonica.com/about/contact-us/" class="footer__mid-row-first-link gtm-ftr-contact-us">Contact Us</a> <span> \ </span> <a href="https://www.santamonica.com/about/visitor-centers/" class="footer__mid-row-first-link">Visitor Information Centers</a> </div> </div> <div class="footer__mid-row-second-content"> <div class="footer__mid-row-second-menu"> <div class="footer__mid-row-second-menu-col-1"> <ul class="footer__mid-row-second-menu-items"> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/meetings-conventions/" class="footer__mid-row-second-menu-link" >Meetings and Events</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/travel-trade/" class="footer__mid-row-second-menu-link" >Travel Trade</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/experience-santa-monica/weddings/" class="footer__mid-row-second-menu-link" >Weddings</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/partners/" class="footer__mid-row-second-menu-link" >Partners</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/media/news-release/" class="footer__mid-row-second-menu-link" >Press Releases</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/media/" class="footer__mid-row-second-menu-link" >Media</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/experience-santa-monica/accessibility/" class="footer__mid-row-second-menu-link" >Accessibility</a> </li> </ul> </div> <div class="footer__mid-row-second-menu-col-2"> <ul class="footer__mid-row-second-menu-items"> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/about/" class="footer__mid-row-second-menu-link" >About Us</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://santamonicares.com/" class="footer__mid-row-second-menu-link" target="_blank">Santa MoniCARES</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/about/staff/" class="footer__mid-row-second-menu-link" >Meet Our Staff</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/about/boards-and-committees/" class="footer__mid-row-second-menu-link" >Boards and Committees</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/i-am-santa-monica/" class="footer__mid-row-second-menu-link" >I Am Santa Monica</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://www.santamonica.com/about/careers/" class="footer__mid-row-second-menu-link" >Careers</a> </li> <li class="footer__mid-row-second-menu-item"> <a href="https://santamonica.myshopify.com/" class="footer__mid-row-second-menu-link" target="_blank">Online Store</a> </li> </ul> </div> </div> </div> </div> </div> <div class="footer__bottom-row-wrapper"> <div class="footer__bottom-row-inner"> <div class="footer__bottom-row-first-content"> <div class="footer__bottom-row-first-copyright">©2024 Santa Monica Travel & Tourism. Santa Monica, CA. All Rights Reserved. </div> </div> <div class="footer__bottom-row-second-content"> <a href="https://www.santamonica.com/privacy-policy/" class="footer__bottom-row-second-privacy">Privacy Policy</a> <span> \ </span> <div class="footer__bottom-row-second-credit"><a href="https://noblestudios.com" target="_blank" style="font-weight: 700; padding-bottom: 1px;">Destination website design</a> by Noble Studios</div> </div> </div> </div> </div> </div> <!-- closing div for animations wrappers --> </div> <!-- closing div for animations wrappers --> <div class="subnav js-subnav --right --no-bottom --has-alert"> <div class="subnav__inner-container"> <div class="subnav__toggles"> <a class="subnav__toggle --alert --alert-hidden js-toggle js-subnav-alert-banner --theme3" data-pane-id="subnav" aria-label="Toggle Alert" href="https://www.santamonica.com/travel-responsibly/"> <div class="subnav__toggle-icon --alert"></div> <div class="subnav__toggle-hint --right">Travel Responsibly</div> </a> <button class="subnav__toggle js-toggle --theme6" data-pane-id="share" type="button" aria-label="Toggle Share Sheet"> <div class="subnav__toggle-icon --share"></div> <div class="subnav__toggle-hint --right">Share</div> </button> <button class="subnav__toggle --newsletter js-toggle --theme6" data-pane-id="newsletter" type="button" aria-label="Toggle Newsletter Information"> <div class="subnav__toggle-icon --newsletter"></div> <div class="subnav__toggle-hint --right">Newsletter</div> </button> </div> <div class="subnav__panes"> <div class="subnav__pane --share --right js-pane --theme6" data-pane-id="share"> <div class="subnav__share-container"> <p class="subnav__share-title">Share</p> <div class="subnav__share-options"> <!-- https://www.addthis.com/academy/addthis-sharing-endpoints/ --> <a href="http://api.addthis.com/oexchange/0.8/forward/facebook/offer?url=https%3A%2F%2Fwww.santamonica.com%2Frequest-santa-monica-vistors-guide%2F&title=Santa+Monica+Publications+%7C+Request+a+Santa+Monica+Guide&description=Request+a+free+Official+Santa+Monica+Visitors+Guide+for+more+information+about+planning+your+next+vacation+in+Santa+Monica%2C+California." rel="nofollow" class="subnav__share-button --facebook gtm-social-share-facebook" aria-label="Share on Facebook"></a> <a href="http://api.addthis.com/oexchange/0.8/forward/pinterest/offer?url=https%3A%2F%2Fwww.santamonica.com%2Frequest-santa-monica-vistors-guide%2F&title=Santa+Monica+Publications+%7C+Request+a+Santa+Monica+Guide&description=Request+a+free+Official+Santa+Monica+Visitors+Guide+for+more+information+about+planning+your+next+vacation+in+Santa+Monica%2C+California." rel="nofollow" class="subnav__share-button --pinterest gtm-social-share-pinterest" aria-label="Share on Pinterest"></a> <a href="http://api.addthis.com/oexchange/0.8/offer?url=https%3A%2F%2Fwww.santamonica.com%2Frequest-santa-monica-vistors-guide%2F&title=Santa+Monica+Publications+%7C+Request+a+Santa+Monica+Guide&description=Request+a+free+Official+Santa+Monica+Visitors+Guide+for+more+information+about+planning+your+next+vacation+in+Santa+Monica%2C+California." rel="nofollow" class="subnav__share-button --more gtm-social-share-more" aria-label="More sharing options"></a> </div> </div> </div> <div class="subnav__pane --newsletter --right js-pane --theme6" data-pane-id="newsletter"> <div class="subnav__newsletter-container js-newsletter-form-container"> <p class="subnav__newsletter-title">Stay Connected</p> <p class="subnav__newsletter-description">Receive helpful tips and updates to plan your next vacation.</p> <a class="subnav__newsletter-link force-color" href="https://www.santamonica.com/newsletter-signup/">Sign Up</a> </div> </div> </div> </div> </div> </footer> </div> <div class="cookie-banner js-cookie-banner --theme8"> <div class="cookie-banner__container"> <p class="cookie-banner__text"> We use cookies on this site to enhance your user experience. By continuing to use the site, you agree to our cookie policy. <a class="cookie-banner__link" href="https://www.santamonica.com/privacy-policy/" target="_blank">More Information</a> </p> <button class="cookie-banner__button js-cookie-banner-close">Got it</button> </div> </div> <script> ( function ( body ) { 'use strict'; body.className = body.className.replace( /\btribe-no-js\b/, 'tribe-js' ); } )( document.body ); </script> <script> /* <![CDATA[ */var tribe_l10n_datatables = {"aria":{"sort_ascending":": activate to sort column ascending","sort_descending":": activate to sort column descending"},"length_menu":"Show _MENU_ entries","empty_table":"No data available in table","info":"Showing _START_ to _END_ of _TOTAL_ entries","info_empty":"Showing 0 to 0 of 0 entries","info_filtered":"(filtered from _MAX_ total entries)","zero_records":"No matching records found","search":"Search:","all_selected_text":"All items on this page were selected. ","select_all_link":"Select all pages","clear_selection":"Clear Selection.","pagination":{"all":"All","next":"Next","previous":"Previous"},"select":{"rows":{"0":"","_":": Selected %d rows","1":": Selected 1 row"}},"datepicker":{"dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesMin":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Prev","currentText":"Today","closeText":"Done","today":"Today","clear":"Clear"}};/* ]]> */ </script><link rel='stylesheet' id='sun-title-css' href='https://www.santamonica.com/wp-content/themes/santamonica/dist/styles/blocks/sun-title.css?ver=3.1' type='text/css' media='all' /> <link rel='stylesheet' id='simple-view-form-css' href='https://www.santamonica.com/wp-content/themes/santamonica/dist/styles/blocks/simpleview-form.css?ver=3.1' type='text/css' media='all' /> <style id='core-block-supports-inline-css' type='text/css'> .wp-container-core-columns-is-layout-1{flex-wrap:nowrap;} </style> <script type="text/javascript" src="https://www.santamonica.com/wp-content/themes/santamonica/dist/scripts/modules/GlobalAnimations.js?ver=3.1" id="sm-animations-js"></script> <script type="text/javascript"> /* IP Address Tracking enabled. IP addresses are being tracked in order to ensure compliance with local privacy laws */ var __sv = __sv || {}; (function(){ function ___onload_function(){ }; if(window.addEventListener){ window.addEventListener('load',___onload_function,false); }else if(window.attachEvent){ window.attachEvent('onload',___onload_function); } })(); </script><script type="text/javascript"> function AoProcessForm(frm){ var changeSaveFrmButtonTypeAndSubmit = function(frm){ try{ if(frm && 'savefrm' in frm && 'type' in frm.savefrm){ frm.savefrm.style.opacity = '0'; frm.savefrm.setAttribute("type","input"); } frm.submit(); }catch(e){ if(console && 'log' in console){ console.log("Error trying to pass the save button", e); } } }; changeSaveFrmButtonTypeAndSubmit(frm); } </script><script type="text/javascript"> (function(){ svcrm = ((typeof svcrm != 'undefined') ? svcrm : {}); svcrm.formBuilderScripts = ((typeof svcrm.formBuilderScripts != 'undefined') ? svcrm.formBuilderScripts : {}); svcrm.formBuilderScripts.chkBoxes = function(fld){ var i = 0; var cnt = 0; if(fld.length==undefined && fld.checked == true) return true; for (i = 0; i < fld.length; i++) { if (fld[i].checked) { cnt++; break; } } if (cnt == 0) return false; else return true; }; svcrm.formBuilderScripts.updReq = function(){ var i = 0; var st = new Array(); var zp = new Array(); var cty = document.getElementById('contact_country').options[document.getElementById('contact_country').selectedIndex].value; st = document.getElementById('statectry').value.split(','); for (i = 0; i < st.length; i++) { if (st[i] == cty) break; } if (i == st.length && cty.length > 0) document.getElementById('label_contact_state').className = 'formnoreq'; else document.getElementById('label_contact_state').className = 'formreq'; zp = document.getElementById('zipctry').value.split(','); for (i = 0; i < zp.length; i++) { if (zp[i] == cty) break; } if (i == zp.length && cty.length > 0) document.getElementById('label_contact_zip').className = 'formnoreq'; else document.getElementById('label_contact_zip').className = 'formreq'; return true; }; // removes the leading and trailing spaces from a string, // similar to the java.lang.String.trim() function // added by lturetsky, taken from http://www.voy.com/1888/58.html svcrm.formBuilderScripts.trim = function(st){ var len = st.length var begin = 0, end = len - 1; while (st.charAt(begin) == " " && begin < len) { begin++; } while (st.charAt(end) == " " && begin < end) { end--; } return st.substring(begin, end+1); }; svcrm.formBuilderScripts.validateForm = function(frm){ var errMsg = '', reqMsg = '', fmtMsg = ''; if (svcrm.formBuilderScripts.trim(document.getElementById('contact_fname').value).length == 0) reqMsg += ' First Namen'; if (svcrm.formBuilderScripts.trim(document.getElementById('contact_lname').value).length == 0) reqMsg += ' Last Namen'; if (svcrm.formBuilderScripts.trim(document.getElementById('contact_addr1').value).length == 0) reqMsg += ' Addressn'; if (svcrm.formBuilderScripts.trim(document.getElementById('contact_city').value).length == 0) reqMsg += ' Cityn'; if (document.getElementById('label_contact_state').className == 'formreq' && document.getElementById('contact_state').selectedIndex == 0) reqMsg += ' Staten'; if (document.getElementById('label_contact_zip').className == 'formreq' && svcrm.formBuilderScripts.trim(document.getElementById('contact_zip').value).length == 0) reqMsg += ' Zipn'; svcrm.formBuilderScripts.fmtZip(document.getElementById('contact_zip')); if (document.getElementById('contact_country').selectedIndex == 0) reqMsg += ' Countryn'; if (!svcrm.formBuilderScripts.chkBoxes(document.getElementsByName('udf_37'))) reqMsg += ' Please send men'; if (!svcrm.formBuilderScripts.checkEmail(document.getElementById('contact_email'))) fmtMsg += ' Please enter a valid email address for: Emailn'; if (!document.getElementById('udf_927_1').checked && !(document.getElementById('udf_927_0').checked)) reqMsg += ' I have read the privacy policy and agreen'; //only validate the captcha if it is there var cdElm = document.getElementById('code'); if (cdElm !== null && cdElm.value.length == 0){ reqMsg += ' Image Coden'; } //allow a hook in for custom validations var customValidations = svcrm.formBuilderScripts.processCustomValidations(); if('reqMsg' in customValidations && customValidations.reqMsg.length){ reqMsg += customValidations.reqMsg; } if('fmtMsg' in customValidations && customValidations.fmtMsg.length){ fmtMsg += customValidations.fmtMsg; } return svcrm.formBuilderScripts.processValidationMessages(reqMsg,fmtMsg,frm); }; //core will do nothing but gives devs a hook svcrm.formBuilderScripts.processCustomValidations = function(){ var rtnvar = {reqMsg:'',fmtMsg:''}; return rtnvar; }; //might as well split this out so customizations can be made svcrm.formBuilderScripts.processValidationMessages = function(reqMsg,fmtMsg,frm){ var errMsg = ''; Array.prototype.forEach.call(document.getElementsByName("savefrm"), function(e){e.disabled=true}); if ((reqMsg.length + fmtMsg.length) != 0) { errMsg = 'This information cannot be sent at this time!nn'; if (reqMsg.length > 0) errMsg += 'The following fields are required!n' + reqMsg + 'n'; if (fmtMsg.length > 0) errMsg += 'The following information is invalid!n' + fmtMsg + 'n'; svcrm.formBuilderScripts.showValidationErrorMsg(errMsg); Array.prototype.forEach.call(document.getElementsByName("savefrm"), function(e){e.disabled=false}); return false; }else{ AoProcessForm(frm); return false; } }; //why not :) svcrm.formBuilderScripts.showValidationErrorMsg = function(msg){ alert(msg); }; svcrm.formBuilderScripts.updateDOB = function(monthFld,dayFld) { var days = 0; if (monthFld.selectedIndex == 0) return true; switch (monthFld.selectedIndex) { case 2: days = 30; break; case 4: case 6: case 9: case 11: days = 31; break; default: days = 32; break; } if (dayFld.options[dayFld.selectedIndex].value >= days) dayFld.selectedIndex = days - 1; dayFld.length = days; for (var i = 28; i < days; i++) { dayFld.options[i].value = String(i); dayFld.options[i].text = String(i); } return true; } })(); </script><script type="text/javascript"> (function(){ svcrm = ((typeof svcrm != 'undefined') ? svcrm : {}); svcrm.formBuilderScripts = ((typeof svcrm.formBuilderScripts != 'undefined') ? svcrm.formBuilderScripts : {}); window.svcrm.formBuilderScripts.states = [{"STATES":"**** - **","COUNTRYNAME":"AFGHANISTAN","COUNTRYID":239},{"STATES":"**** - **","COUNTRYNAME":"Ã LAND ISLANDS","COUNTRYID":272},{"STATES":"**** - **","COUNTRYNAME":"ALBANIA","COUNTRYID":1},{"STATES":"**** - **","COUNTRYNAME":"ALGERIA","COUNTRYID":2},{"STATES":"**** - **","COUNTRYNAME":"AMERICAN SAMOA","COUNTRYID":3},{"STATES":"**** - **","COUNTRYNAME":"ANDORRA","COUNTRYID":4},{"STATES":"**** - **","COUNTRYNAME":"ANGOLA","COUNTRYID":250},{"STATES":"**** - **","COUNTRYNAME":"ANGUILLA","COUNTRYID":5},{"STATES":"**** - **","COUNTRYNAME":"ANTARCTICA","COUNTRYID":256},{"STATES":"**** - **","COUNTRYNAME":"ANTIGUA AND BARBUDA","COUNTRYID":6},{"STATES":"**** - **","COUNTRYNAME":"ARGENTINA","COUNTRYID":7},{"STATES":"**** - **","COUNTRYNAME":"ARMENIA","COUNTRYID":251},{"STATES":"**** - **","COUNTRYNAME":"ARUBA","COUNTRYID":8},{"STATES":"**** - ** NSWNSW - New South Wales QldQld - Queensland SASA - South Australia TasTas - Tasmania VicVic - Victoria WAWA - Western Australia","COUNTRYNAME":"AUSTRALIA","COUNTRYID":9},{"STATES":"**** - **","COUNTRYNAME":"AUSTRIA","COUNTRYID":10},{"STATES":"**** - **","COUNTRYNAME":"AZERBAIJAN","COUNTRYID":252},{"STATES":"**** - **","COUNTRYNAME":"BAHAMAS","COUNTRYID":12},{"STATES":"**** - **","COUNTRYNAME":"BAHRAIN","COUNTRYID":13},{"STATES":"**** - **","COUNTRYNAME":"BANGLADESH","COUNTRYID":14},{"STATES":"**** - **","COUNTRYNAME":"BARBADOS","COUNTRYID":15},{"STATES":"**** - **","COUNTRYNAME":"BELARUS","COUNTRYID":18},{"STATES":"**** - **","COUNTRYNAME":"BELGIUM","COUNTRYID":16},{"STATES":"**** - **","COUNTRYNAME":"BELIZE","COUNTRYID":17},{"STATES":"**** - **","COUNTRYNAME":"BENIN","COUNTRYID":19},{"STATES":"**** - **","COUNTRYNAME":"BERMUDA","COUNTRYID":20},{"STATES":"**** - **","COUNTRYNAME":"BHUTAN","COUNTRYID":240},{"STATES":"**** - **","COUNTRYNAME":"BOLIVIA","COUNTRYID":21},{"STATES":"**** - **","COUNTRYNAME":"BOSNIA AND HERZEGOVINA","COUNTRYID":23},{"STATES":"**** - **","COUNTRYNAME":"BOTSWANA","COUNTRYID":24},{"STATES":"**** - **","COUNTRYNAME":"BOUVET ISLAND","COUNTRYID":253},{"STATES":"**** - **","COUNTRYNAME":"BRAZIL","COUNTRYID":25},{"STATES":"**** - **","COUNTRYNAME":"BRITISH INDIAN OCEAN TERRITORY","COUNTRYID":278},{"STATES":"**** - **","COUNTRYNAME":"BRUNEI DARUSSALAM","COUNTRYID":27},{"STATES":"**** - **","COUNTRYNAME":"BULGARIA","COUNTRYID":28},{"STATES":"**** - **","COUNTRYNAME":"BURKINA FASO","COUNTRYID":29},{"STATES":"**** - **","COUNTRYNAME":"BURUNDI","COUNTRYID":30},{"STATES":"**** - **","COUNTRYNAME":"CAMBODIA","COUNTRYID":31},{"STATES":"**** - **","COUNTRYNAME":"CAMEROON","COUNTRYID":32},{"STATES":"**** - ** ABAB - Alberta BCBC - British Columbia MBMB - Manitoba NBNB - New Brunswick NLNL - Newfoundland and Labrador NTNT - Northwest Territory NSNS - Nova Scotia NUNU - Nunavut ONON - Ontario PEPE - Prince Edward Island QCQC - Quebec SKSK - Saskatchewan YTYT - Yukon","COUNTRYNAME":"CANADA","COUNTRYID":33},{"STATES":"**** - **","COUNTRYNAME":"CANARY ISLANDS","COUNTRYID":34},{"STATES":"**** - **","COUNTRYNAME":"CAPE VERDE","COUNTRYID":35},{"STATES":"**** - **","COUNTRYNAME":"CAYMAN ISLANDS","COUNTRYID":36},{"STATES":"**** - **","COUNTRYNAME":"CENTRAL AFRICAN REPUBLIC","COUNTRYID":37},{"STATES":"**** - **","COUNTRYNAME":"CHAD","COUNTRYID":38},{"STATES":"**** - **","COUNTRYNAME":"CHILE","COUNTRYID":40},{"STATES":"**** - **","COUNTRYNAME":"CHINA","COUNTRYID":41},{"STATES":"**** - **","COUNTRYNAME":"CHRISTMAS ISLAND","COUNTRYID":254},{"STATES":"**** - **","COUNTRYNAME":"COCOS (KEELING) ISLANDS","COUNTRYID":241},{"STATES":"**** - **","COUNTRYNAME":"COLOMBIA","COUNTRYID":42},{"STATES":"**** - **","COUNTRYNAME":"COMOROS","COUNTRYID":255},{"STATES":"**** - **","COUNTRYNAME":"CONGO","COUNTRYID":43},{"STATES":"**** - **","COUNTRYNAME":"CONGO - DEM REPUBLIC OF","COUNTRYID":274},{"STATES":"**** - **","COUNTRYNAME":"COOK ISLANDS","COUNTRYID":44},{"STATES":"**** - **","COUNTRYNAME":"COSTA RICA","COUNTRYID":45},{"STATES":"**** - **","COUNTRYNAME":"CÃTE D'IVOIRE","COUNTRYID":94},{"STATES":"**** - **","COUNTRYNAME":"CROATIA","COUNTRYID":46},{"STATES":"**** - **","COUNTRYNAME":"CUBA","COUNTRYID":242},{"STATES":"**** - **","COUNTRYNAME":"CURACAO","COUNTRYID":47},{"STATES":"**** - **","COUNTRYNAME":"CYPRUS","COUNTRYID":48},{"STATES":"**** - **","COUNTRYNAME":"CZECH REPUBLIC","COUNTRYID":49},{"STATES":"**** - **","COUNTRYNAME":"DENMARK","COUNTRYID":50},{"STATES":"**** - **","COUNTRYNAME":"DJIBOUTI","COUNTRYID":51},{"STATES":"**** - **","COUNTRYNAME":"DOMINICA","COUNTRYID":52},{"STATES":"**** - **","COUNTRYNAME":"DOMINICAN REPUBLIC","COUNTRYID":53},{"STATES":"**** - **","COUNTRYNAME":"ECUADOR","COUNTRYID":54},{"STATES":"**** - **","COUNTRYNAME":"EGYPT","COUNTRYID":55},{"STATES":"**** - **","COUNTRYNAME":"EL SALVADOR","COUNTRYID":56},{"STATES":"**** - **","COUNTRYNAME":"EQUATORIAL GUINEA","COUNTRYID":58},{"STATES":"**** - **","COUNTRYNAME":"ERITREA","COUNTRYID":59},{"STATES":"**** - **","COUNTRYNAME":"ESTONIA","COUNTRYID":60},{"STATES":"**** - **","COUNTRYNAME":"ETHIOPIA","COUNTRYID":61},{"STATES":"**** - **","COUNTRYNAME":"FALKLAND ISLANDS (MALVINAS)","COUNTRYID":258},{"STATES":"**** - **","COUNTRYNAME":"FAROE ISLANDS","COUNTRYID":62},{"STATES":"**** - **","COUNTRYNAME":"FIJI","COUNTRYID":64},{"STATES":"**** - **","COUNTRYNAME":"FINLAND","COUNTRYID":65},{"STATES":"**** - **","COUNTRYNAME":"FRANCE","COUNTRYID":66},{"STATES":"**** - **","COUNTRYNAME":"FRENCH GUIANA","COUNTRYID":67},{"STATES":"**** - **","COUNTRYNAME":"FRENCH POLYNESIA","COUNTRYID":197},{"STATES":"**** - **","COUNTRYNAME":"FRENCH SOUTHERN TERRITORIES","COUNTRYID":283},{"STATES":"**** - **","COUNTRYNAME":"GABON","COUNTRYID":69},{"STATES":"**** - **","COUNTRYNAME":"GAMBIA","COUNTRYID":70},{"STATES":"**** - **","COUNTRYNAME":"GEORGIA","COUNTRYID":71},{"STATES":"**** - **","COUNTRYNAME":"GERMANY","COUNTRYID":72},{"STATES":"**** - **","COUNTRYNAME":"GHANA","COUNTRYID":73},{"STATES":"**** - **","COUNTRYNAME":"GIBRALTAR","COUNTRYID":74},{"STATES":"**** - **","COUNTRYNAME":"GREECE","COUNTRYID":75},{"STATES":"**** - **","COUNTRYNAME":"GREENLAND","COUNTRYID":76},{"STATES":"**** - **","COUNTRYNAME":"GRENADA","COUNTRYID":77},{"STATES":"**** - **","COUNTRYNAME":"GUADELOUPE","COUNTRYID":78},{"STATES":"**** - **","COUNTRYNAME":"GUAM","COUNTRYID":79},{"STATES":"**** - **","COUNTRYNAME":"GUATEMALA","COUNTRYID":80},{"STATES":"**** - **","COUNTRYNAME":"GUERNSEY","COUNTRYID":275},{"STATES":"**** - **","COUNTRYNAME":"GUINEA","COUNTRYID":81},{"STATES":"**** - **","COUNTRYNAME":"GUINEA-BISSAU","COUNTRYID":82},{"STATES":"**** - **","COUNTRYNAME":"GUYANA","COUNTRYID":83},{"STATES":"**** - **","COUNTRYNAME":"HAITI","COUNTRYID":84},{"STATES":"**** - **","COUNTRYNAME":"HEARD ISLAND AND MCDONALD ISLANDS","COUNTRYID":276},{"STATES":"**** - **","COUNTRYNAME":"HOLY SEE (VATICAN CITY STATE)","COUNTRYID":236},{"STATES":"**** - **","COUNTRYNAME":"HONDURAS","COUNTRYID":86},{"STATES":"**** - **","COUNTRYNAME":"HONG KONG","COUNTRYID":87},{"STATES":"**** - **","COUNTRYNAME":"HUNGARY","COUNTRYID":88},{"STATES":"**** - **","COUNTRYNAME":"ICELAND","COUNTRYID":89},{"STATES":"**** - **","COUNTRYNAME":"INDIA","COUNTRYID":90},{"STATES":"**** - **","COUNTRYNAME":"INDONESIA","COUNTRYID":91},{"STATES":"**** - **","COUNTRYNAME":"IRAN, ISLAMIC REPUBLIC OF","COUNTRYID":235},{"STATES":"**** - **","COUNTRYNAME":"IRAQ","COUNTRYID":238},{"STATES":"**** - **","COUNTRYNAME":"IRELAND","COUNTRYID":234},{"STATES":"**** - **","COUNTRYNAME":"ISLE OF MAN","COUNTRYID":277},{"STATES":"**** - **","COUNTRYNAME":"ISRAEL","COUNTRYID":92},{"STATES":"**** - **","COUNTRYNAME":"ITALY","COUNTRYID":93},{"STATES":"**** - **","COUNTRYNAME":"JAMAICA","COUNTRYID":95},{"STATES":"**** - **","COUNTRYNAME":"JAPAN","COUNTRYID":96},{"STATES":"**** - **","COUNTRYNAME":"JERSEY","COUNTRYID":279},{"STATES":"**** - **","COUNTRYNAME":"JORDAN","COUNTRYID":97},{"STATES":"**** - **","COUNTRYNAME":"KAZAKHSTAN","COUNTRYID":98},{"STATES":"**** - **","COUNTRYNAME":"KENYA","COUNTRYID":99},{"STATES":"**** - **","COUNTRYNAME":"KIRIBATI","COUNTRYID":100},{"STATES":"**** - **","COUNTRYNAME":"KOREA, REPUBLIC OF","COUNTRYID":177},{"STATES":"**** - **","COUNTRYNAME":"KOSRAE","COUNTRYID":101},{"STATES":"**** - **","COUNTRYNAME":"KUWAIT","COUNTRYID":102},{"STATES":"**** - **","COUNTRYNAME":"KYRGYZSTAN","COUNTRYID":103},{"STATES":"**** - **","COUNTRYNAME":"LAO PEOPLE'S DEMOCRATIC REPUBLIC","COUNTRYID":104},{"STATES":"**** - **","COUNTRYNAME":"LATVIA","COUNTRYID":105},{"STATES":"**** - **","COUNTRYNAME":"LEBANON","COUNTRYID":106},{"STATES":"**** - **","COUNTRYNAME":"LESOTHO","COUNTRYID":107},{"STATES":"**** - **","COUNTRYNAME":"LIBERIA","COUNTRYID":108},{"STATES":"**** - **","COUNTRYNAME":"LIBYAN ARAB JAMAHIRIYA","COUNTRYID":259},{"STATES":"**** - **","COUNTRYNAME":"LIECHTENSTEIN","COUNTRYID":109},{"STATES":"**** - **","COUNTRYNAME":"LITHUANIA","COUNTRYID":110},{"STATES":"**** - **","COUNTRYNAME":"LUXEMBOURG","COUNTRYID":111},{"STATES":"**** - **","COUNTRYNAME":"MACAO","COUNTRYID":112},{"STATES":"**** - **","COUNTRYNAME":"MACEDONIA","COUNTRYID":113},{"STATES":"**** - **","COUNTRYNAME":"MADAGASCAR","COUNTRYID":114},{"STATES":"**** - **","COUNTRYNAME":"MALAWI","COUNTRYID":116},{"STATES":"**** - **","COUNTRYNAME":"MALAYSIA","COUNTRYID":117},{"STATES":"**** - **","COUNTRYNAME":"MALDIVES","COUNTRYID":118},{"STATES":"**** - **","COUNTRYNAME":"MALI","COUNTRYID":119},{"STATES":"**** - **","COUNTRYNAME":"MALTA","COUNTRYID":120},{"STATES":"**** - ** MHMH - Marshall Islands","COUNTRYNAME":"MARSHALL ISLANDS","COUNTRYID":121},{"STATES":"**** - **","COUNTRYNAME":"MARTINIQUE","COUNTRYID":122},{"STATES":"**** - **","COUNTRYNAME":"MAURITANIA","COUNTRYID":123},{"STATES":"**** - **","COUNTRYNAME":"MAURITIUS","COUNTRYID":124},{"STATES":"**** - **","COUNTRYNAME":"MAYOTTE","COUNTRYID":260},{"STATES":"**** - **","COUNTRYNAME":"MEXICO","COUNTRYID":125},{"STATES":"**** - **","COUNTRYNAME":"MICRONESIA, FEDERATED STATES OF","COUNTRYID":63},{"STATES":"**** - **","COUNTRYNAME":"MOLDOVA, REPUBLIC OF","COUNTRYID":126},{"STATES":"**** - **","COUNTRYNAME":"MONACO","COUNTRYID":127},{"STATES":"**** - **","COUNTRYNAME":"MONGOLIA","COUNTRYID":261},{"STATES":"**** - **","COUNTRYNAME":"MONTENEGRO","COUNTRYID":115},{"STATES":"**** - **","COUNTRYNAME":"MONTSERRAT","COUNTRYID":128},{"STATES":"**** - **","COUNTRYNAME":"MOROCCO","COUNTRYID":129},{"STATES":"**** - **","COUNTRYNAME":"MOZAMBIQUE","COUNTRYID":130},{"STATES":"**** - **","COUNTRYNAME":"MYANMAR","COUNTRYID":131},{"STATES":"**** - **","COUNTRYNAME":"NAMIBIA","COUNTRYID":132},{"STATES":"**** - **","COUNTRYNAME":"NAURU","COUNTRYID":262},{"STATES":"**** - **","COUNTRYNAME":"NEPAL","COUNTRYID":133},{"STATES":"**** - **","COUNTRYNAME":"NETHERLANDS","COUNTRYID":134},{"STATES":"**** - **","COUNTRYNAME":"NETHERLANDS ANTILLES","COUNTRYID":135},{"STATES":"**** - **","COUNTRYNAME":"NEW CALEDONIA","COUNTRYID":136},{"STATES":"**** - **","COUNTRYNAME":"NEW ZEALAND","COUNTRYID":137},{"STATES":"**** - **","COUNTRYNAME":"NICARAGUA","COUNTRYID":138},{"STATES":"**** - **","COUNTRYNAME":"NIGER","COUNTRYID":139},{"STATES":"**** - **","COUNTRYNAME":"NIGERIA","COUNTRYID":140},{"STATES":"**** - **","COUNTRYNAME":"NIUE","COUNTRYID":263},{"STATES":"**** - **","COUNTRYNAME":"NORFOLK ISLAND","COUNTRYID":141},{"STATES":"**** - **","COUNTRYNAME":"NORTH KOREA","COUNTRYID":264},{"STATES":"**** - **","COUNTRYNAME":"NORTHERN MARIANA ISLANDS","COUNTRYID":143},{"STATES":"**** - **","COUNTRYNAME":"NORWAY","COUNTRYID":144},{"STATES":"**** - **","COUNTRYNAME":"OMAN","COUNTRYID":145},{"STATES":"**** - **","COUNTRYNAME":"PAKISTAN","COUNTRYID":146},{"STATES":"**** - **","COUNTRYNAME":"PALAU","COUNTRYID":147},{"STATES":"**** - **","COUNTRYNAME":"PALESTINIAN TERRITORY, OCCUPIED","COUNTRYID":281},{"STATES":"**** - **","COUNTRYNAME":"PANAMA","COUNTRYID":148},{"STATES":"**** - **","COUNTRYNAME":"PAPUA NEW GUINEA","COUNTRYID":149},{"STATES":"**** - **","COUNTRYNAME":"PARAGUAY","COUNTRYID":150},{"STATES":"**** - **","COUNTRYNAME":"PERU","COUNTRYID":151},{"STATES":"**** - **","COUNTRYNAME":"PHILIPPINES","COUNTRYID":152},{"STATES":"**** - **","COUNTRYNAME":"PITCAIRN","COUNTRYID":265},{"STATES":"**** - **","COUNTRYNAME":"POLAND","COUNTRYID":153},{"STATES":"**** - **","COUNTRYNAME":"PONAPE","COUNTRYID":154},{"STATES":"**** - **","COUNTRYNAME":"PORTUGAL","COUNTRYID":155},{"STATES":"**** - **","COUNTRYNAME":"PUERTO RICO","COUNTRYID":156},{"STATES":"**** - **","COUNTRYNAME":"QATAR","COUNTRYID":157},{"STATES":"**** - **","COUNTRYNAME":"RÃUNION","COUNTRYID":160},{"STATES":"**** - **","COUNTRYNAME":"ROMANIA","COUNTRYID":161},{"STATES":"**** - **","COUNTRYNAME":"RUSSIAN FEDERATION","COUNTRYID":163},{"STATES":"**** - **","COUNTRYNAME":"RWANDA","COUNTRYID":164},{"STATES":"**** - **","COUNTRYNAME":"S. GEORGIA AND S. SANDWICH ISLES","COUNTRYID":268},{"STATES":"**** - **","COUNTRYNAME":"SABA","COUNTRYID":165},{"STATES":"**** - **","COUNTRYNAME":"SAINT BARTHÃLEMY","COUNTRYID":273},{"STATES":"**** - **","COUNTRYNAME":"SAINT HELENA","COUNTRYID":245},{"STATES":"**** - **","COUNTRYNAME":"SAINT KITTS AND NEVIS","COUNTRYID":185},{"STATES":"**** - **","COUNTRYNAME":"SAINT LUCIA","COUNTRYID":186},{"STATES":"**** - **","COUNTRYNAME":"SAINT MARTIN","COUNTRYID":280},{"STATES":"**** - **","COUNTRYNAME":"SAINT PIERRE AND MIQUELON","COUNTRYID":269},{"STATES":"**** - **","COUNTRYNAME":"SAINT VINCENT AND THE GRENADINES","COUNTRYID":190},{"STATES":"**** - **","COUNTRYNAME":"SAIPAN","COUNTRYID":166},{"STATES":"**** - **","COUNTRYNAME":"SAMOA","COUNTRYID":228},{"STATES":"**** - **","COUNTRYNAME":"SAN MARINO","COUNTRYID":266},{"STATES":"**** - **","COUNTRYNAME":"SAO TOME AND PRINCIPE","COUNTRYID":267},{"STATES":"**** - **","COUNTRYNAME":"SAUDI ARABIA","COUNTRYID":167},{"STATES":"**** - **","COUNTRYNAME":"SCOTLAND","COUNTRYID":168},{"STATES":"**** - **","COUNTRYNAME":"SENEGAL","COUNTRYID":169},{"STATES":"**** - **","COUNTRYNAME":"SERBIA","COUNTRYID":230},{"STATES":"**** - **","COUNTRYNAME":"SEYCHELLES","COUNTRYID":170},{"STATES":"**** - **","COUNTRYNAME":"SIERRA LEONE","COUNTRYID":171},{"STATES":"**** - **","COUNTRYNAME":"SINGAPORE","COUNTRYID":172},{"STATES":"**** - **","COUNTRYNAME":"SLOVAKIA","COUNTRYID":173},{"STATES":"**** - **","COUNTRYNAME":"SLOVENIA","COUNTRYID":174},{"STATES":"**** - **","COUNTRYNAME":"SOLOMON ISLANDS","COUNTRYID":175},{"STATES":"**** - **","COUNTRYNAME":"SOMALIA","COUNTRYID":244},{"STATES":"**** - **","COUNTRYNAME":"SOUTH AFRICA","COUNTRYID":176},{"STATES":"**** - **","COUNTRYNAME":"SPAIN","COUNTRYID":178},{"STATES":"**** - **","COUNTRYNAME":"SRI LANKA","COUNTRYID":179},{"STATES":"**** - **","COUNTRYNAME":"ST. BARTHELEMY","COUNTRYID":180},{"STATES":"**** - **","COUNTRYNAME":"ST. CHRISTOPHER","COUNTRYID":181},{"STATES":"**** - **","COUNTRYNAME":"ST. CROIX","COUNTRYID":182},{"STATES":"**** - **","COUNTRYNAME":"ST. EUSTATIUS","COUNTRYID":183},{"STATES":"**** - **","COUNTRYNAME":"ST. JOHN","COUNTRYID":184},{"STATES":"**** - **","COUNTRYNAME":"ST. MAARTEN","COUNTRYID":187},{"STATES":"**** - **","COUNTRYNAME":"ST. MARTIN","COUNTRYID":188},{"STATES":"**** - **","COUNTRYNAME":"ST. THOMAS","COUNTRYID":189},{"STATES":"**** - **","COUNTRYNAME":"SUDAN","COUNTRYID":191},{"STATES":"**** - **","COUNTRYNAME":"SURINAME","COUNTRYID":192},{"STATES":"**** - **","COUNTRYNAME":"SVALBARD AND JAN MAYEN","COUNTRYID":282},{"STATES":"**** - **","COUNTRYNAME":"SWAZILAND","COUNTRYID":193},{"STATES":"**** - **","COUNTRYNAME":"SWEDEN","COUNTRYID":194},{"STATES":"**** - **","COUNTRYNAME":"SWITZERLAND","COUNTRYID":195},{"STATES":"**** - **","COUNTRYNAME":"SYRIAN ARAB REPUBLIC","COUNTRYID":196},{"STATES":"**** - **","COUNTRYNAME":"TAIWAN, PROVINCE OF CHINA","COUNTRYID":198},{"STATES":"**** - **","COUNTRYNAME":"TAJIKISTAN","COUNTRYID":199},{"STATES":"**** - **","COUNTRYNAME":"TANZANIA, UNITED REPUBLIC OF","COUNTRYID":200},{"STATES":"**** - **","COUNTRYNAME":"THAILAND","COUNTRYID":201},{"STATES":"**** - **","COUNTRYNAME":"TIMOR-LESTE","COUNTRYID":257},{"STATES":"**** - **","COUNTRYNAME":"TINIAN","COUNTRYID":202},{"STATES":"**** - **","COUNTRYNAME":"TOGO","COUNTRYID":203},{"STATES":"**** - **","COUNTRYNAME":"TOKELAU","COUNTRYID":270},{"STATES":"**** - **","COUNTRYNAME":"TONGA","COUNTRYID":204},{"STATES":"**** - **","COUNTRYNAME":"TORTOLA","COUNTRYID":205},{"STATES":"**** - **","COUNTRYNAME":"TRINIDAD AND TOBAGO","COUNTRYID":206},{"STATES":"**** - **","COUNTRYNAME":"TRUK","COUNTRYID":207},{"STATES":"**** - **","COUNTRYNAME":"TUNISIA","COUNTRYID":208},{"STATES":"**** - **","COUNTRYNAME":"TURKEY","COUNTRYID":209},{"STATES":"**** - **","COUNTRYNAME":"TURKMENISTAN","COUNTRYID":271},{"STATES":"**** - **","COUNTRYNAME":"TURKS AND CAICOS ISLANDS","COUNTRYID":210},{"STATES":"**** - **","COUNTRYNAME":"TUVALU","COUNTRYID":211},{"STATES":"**** - **","COUNTRYNAME":"UGANDA","COUNTRYID":212},{"STATES":"**** - **","COUNTRYNAME":"UKRAINE","COUNTRYID":213},{"STATES":"**** - **","COUNTRYNAME":"UNION ISLAND","COUNTRYID":214},{"STATES":"**** - **","COUNTRYNAME":"UNITED ARAB EMIRATES","COUNTRYID":215},{"STATES":"**** - **","COUNTRYNAME":"UNITED KINGDOM","COUNTRYID":57},{"STATES":"**** - ** ALAL - Alabama AKAK - Alaska AZAZ - Arizona ARAR - Arkansas CACA - California COCO - Colorado CTCT - Connecticut DEDE - Delaware DCDC - District of Columbia FLFL - Florida GAGA - Georgia HIHI - Hawaii IDID - Idaho ILIL - Illinois ININ - Indiana IAIA - Iowa KSKS - Kansas KYKY - Kentucky LALA - Louisiana MEME - Maine MDMD - Maryland MAMA - Massachusetts MIMI - Michigan MNMN - Minnesota MSMS - Mississippi MOMO - Missouri MTMT - Montana NENE - Nebraska NVNV - Nevada NHNH - New Hampshire NJNJ - New Jersey NMNM - New Mexico NYNY - New York NCNC - North Carolina NDND - North Dakota OHOH - Ohio OKOK - Oklahoma OROR - Oregon PAPA - Pennsylvania RIRI - Rhode Island SCSC - South Carolina SDSD - South Dakota TNTN - Tennessee TXTX - Texas UTUT - Utah VTVT - Vermont VAVA - Virginia WAWA - Washington WVWV - West Virginia WIWI - Wisconsin WYWY - Wyoming","COUNTRYNAME":"UNITED STATES","COUNTRYID":217},{"STATES":"**** - **","COUNTRYNAME":"URUGUAY","COUNTRYID":218},{"STATES":"**** - **","COUNTRYNAME":"US MINOR OUTLYING ISLANDS","COUNTRYID":225},{"STATES":"**** - **","COUNTRYNAME":"UZBEKISTAN","COUNTRYID":220},{"STATES":"**** - **","COUNTRYNAME":"VANUATU","COUNTRYID":221},{"STATES":"**** - **","COUNTRYNAME":"VENEZUELA, BOLIVARIAN REPUBLIC OF","COUNTRYID":222},{"STATES":"**** - **","COUNTRYNAME":"VIET NAM","COUNTRYID":223},{"STATES":"**** - **","COUNTRYNAME":"VIRGIN ISLANDS, BRITISH","COUNTRYID":26},{"STATES":"**** - **","COUNTRYNAME":"VIRGIN ISLANDS, U.S.","COUNTRYID":219},{"STATES":"**** - **","COUNTRYNAME":"WALES","COUNTRYID":226},{"STATES":"**** - **","COUNTRYNAME":"WALLIS AND FUTUNA","COUNTRYID":227},{"STATES":"**** - **","COUNTRYNAME":"WESTERN SAHARA","COUNTRYID":246},{"STATES":"**** - **","COUNTRYNAME":"YAP","COUNTRYID":229},{"STATES":"**** - **","COUNTRYNAME":"YEMEN","COUNTRYID":247},{"STATES":"**** - **","COUNTRYNAME":"ZAIRE","COUNTRYID":231},{"STATES":"**** - **","COUNTRYNAME":"ZAMBIA","COUNTRYID":232},{"STATES":"**** - **","COUNTRYNAME":"ZIMBABWE","COUNTRYID":233}]; svcrm.formBuilderScripts.countryChanged = function(domElm){ var state = document.getElementById('contact_state'); var oldSelIndexVal = state.value; //$F('contact_state'); var myStates = new Array(); // $('contact_state').options.length = 0; state.options.length = 0; for (var i = 0; i < window.svcrm.formBuilderScripts.states.length; i++) { if (window.svcrm.formBuilderScripts.states[i].COUNTRYNAME == domElm.options[domElm.selectedIndex].value || window.svcrm.formBuilderScripts.states[i].COUNTRYNAME == '') { var myObj = new Object(); var tmp = window.svcrm.formBuilderScripts.states[i].STATES.split(''); for (var x = 0; x < tmp.length; x = x + 2) { var myObj = new Object(); myObj.statecode = tmp[x - 1]; myObj.statename = tmp[x]; if (tmp[x - 1] == oldSelIndexVal) { myObj.selected = true; } else { myObj.selected = false; } if(!myObj.statecode){ myObj.statecode = ''; } myStates.push(myObj); } } } if (myStates.length > 0) { for (var i = 0; i < myStates.length; i++) { // $('contact_state').options[$('state').options.length] = new Option(myStates[i].statename, myStates[i].statecode, myStates[i].selected, myStates[i].selected); state.options[state.options.length] = new Option(myStates[i].statename, myStates[i].statecode, myStates[i].selected, myStates[i].selected); } } else { // $('contact_state').options.length = 0; state.options.length = 0; //$('contact_state').options[$('contact_state').options.length] = new Option("** - **", ""); state.options[state.options.length] = new Option("** - **", ""); } } })(); </script><script type="text/javascript"> (function(){ svcrm = ((typeof svcrm != 'undefined') ? svcrm : {}); svcrm.formBuilderScripts = ((typeof svcrm.formBuilderScripts != 'undefined') ? svcrm.formBuilderScripts : {}); window.svcrm.formBuilderScripts._____fileInpElmsRemoved = {}; //being lazy, need a place to store the file inputs that get removed from the form window.svcrm.formBuilderScripts._____filesUploading = 0; //if this is greater than 0, a file is still uploading. //this function is called when a file upload input has a file selected window.svcrm.formBuilderScripts.submitFileUpload = function(frmname,fldname){ //kill off the old temp input that is used by formbuilder_fileAdd.cfm to know which form element to upload var oldinp = document.getElementById('thefileweneedtoupload'); if(oldinp){ oldinp.parentNode.removeChild(oldinp); } //create the temp input that is used by formbuilder_fileAdd.cfm to know which form element to upload var inp = document.createElement('input'); inp.type = 'hidden'; inp.name = 'thefileweneedtoupload'; inp.id = 'thefileweneedtoupload'; inp.value = fldname; document[frmname].appendChild(inp); //need to get some things from this input before it is killed so we will it so we can recreate it var fld = document.getElementById(fldname); window.svcrm.formBuilderScripts._____fileInpElmsRemoved[fldname] = { id:fld.id, name:fld.name, className:fld.className, tabIndex:fld.tabIndex, onchange:fld.onchange }; //kill iframe element if one exists window.svcrm.formBuilderScripts.killFileInputIframeElm(fldname); //create iframe to submit to var iframe = document.createElement('iframe'); iframe.id = 'fileUploaderIframe_'+fldname; iframe.name = 'fileUploaderIframe_'+fldname; iframe.style.display = 'none'; document.body.appendChild(iframe); //store the form action before it is changed var origFormAttributes = {action: document[frmname].action, enctype: document[frmname].enctype}; //change the form so that it will submit to the webapi and iframe target document[frmname].action = 'https://SantaMonica.simpleviewcrm.com/webapi/formbuilder/formbuilder_fileAdd.cfm'; document[frmname].target = 'fileUploaderIframe_'+fldname; document[frmname].enctype = 'multipart/form-data'; document[frmname].submit(); //add to filesUploading so we don't allow form submissions while files are uploading window.svcrm.formBuilderScripts._____filesUploading = window.svcrm.formBuilderScripts._____filesUploading + 1; //reset the form to submit to where it was originally intended to submit to and remove the target so it doesn't go to the iframe document[frmname].setAttribute('action',origFormAttributes.action); document[frmname].setAttribute('enctype',origFormAttributes.enctype); document[frmname].removeAttribute('target'); // Disable the submit button and add a tool tip to the disabled element so it is clear why you can't submit yet -- useful for large files or slow connections document.getElementById('savefrm_button').disabled = true; var tt = document.getElementById('submit_tooltiptext'); if(tt){ //Make the tool tip show up tt.style.visibility = 'visible'; } else { // create a new element var toolTip = document.createElement("span"); var newContent = document.createTextNode("Unable to submit, file upload in progress."); toolTip.appendChild(newContent); toolTip.style.backgroundColor = "black"; toolTip.style.color = "white"; toolTip.style.textAlign = "center"; toolTip.style.borderRadius = "6px"; toolTip.style.padding = "4px 2px"; toolTip.setAttribute('id', 'submit_tooltiptext'); // add the newly created element and its content into the DOM currentDiv = document.getElementById('resetfrm_button'); var br = document.createElement("br"); // but put it on a new line first currentDiv.parentElement.insertBefore(br, null); currentDiv.parentElement.insertBefore(toolTip, null); } }; //this function is called by either the formbuilder_fileAdd.cfm window.parent.addFile() call or from the _handlePostMessage() function //it will take the filename that is returned and set it in the display element and hidden input //if success==true is not returned we will try to grab the message from errorMsg if passed otherwise will display a generic error message and will try to remove the file input and recreate it //it is possible that the IIS request filtering will kick in and prevent us from knowing if it failed but the overall submission will end up getting blocked because the file inputs will still exist window.svcrm.formBuilderScripts.addFile = function(addFileArgs){ if(typeof addFileArgs.success && addFileArgs.success){ //set the hidden input with the new filename so we can process upon save document.getElementById(addFileArgs.fldname+'_formbuilder_hidden').value = addFileArgs.newfilename; //subtract from filesUploading, if we're at 0 all files are finished window.svcrm.formBuilderScripts._____filesUploading = window.svcrm.formBuilderScripts._____filesUploading - 1; if (window.svcrm.formBuilderScripts._____filesUploading <= 0) { //Re-enable submit button document.getElementById('savefrm_button').disabled = false; //hide tooltip var ttip = document.getElementById('submit_tooltiptext'); if (ttip) { ttip.style.visibility = "hidden"; } } //create the delete button for this file var newBtn = document.createElement('img'); newBtn.src = 'https://SantaMonica.simpleviewcrm.com/core_crm/webapi/forms/images/delete.png'; newBtn.onclick = function(){window.svcrm.formBuilderScripts.removeFile(addFileArgs.fldname);}; newBtn.alt = 'Remove File?'; newBtn.title = 'Remove File?'; newBtn.style.paddingTop = '5px'; newBtn.style.paddingRight = '5px'; newBtn.style.float = 'left'; //create the element that will show the file name var newDiv = document.createElement('div'); newDiv.innerHTML = addFileArgs.newfilename; newDiv.style.paddingTop = '4px'; newDiv.style.float = 'left'; //get this file inputs display element and append the delete button and name display elements in it var dispElm = document.getElementById(addFileArgs.fldname+'_display'); dispElm.appendChild(newBtn); dispElm.appendChild(newDiv); //create an empty div to fix the float for the delete and filename element var newDiv2 = document.createElement('div'); newDiv2.style.clear = 'both'; dispElm.appendChild(newDiv2); dispElm.style.display = 'block'; //turn on the display element //kill the file input we don't want it anymore unless they remove this file window.svcrm.formBuilderScripts.killFileInputElm(addFileArgs.fldname); }else{ //kill and recreate the element if we can if(typeof addFileArgs.fldname && addFileArgs.fldname.length){ window.svcrm.formBuilderScripts.killFileInputElm(addFileArgs.fldname); window.svcrm.formBuilderScripts.recreateFileInputElm(addFileArgs.fldname); } //if we have a good message display it alert('There was a problem uploading your file:n'+((typeof addFileArgs.errorMsg != 'undefined') ? addFileArgs.errorMsg : 'There was a problem uploading your file!' ) ); //subtract from filesUploading, if we're at 0 all files are finished window.svcrm.formBuilderScripts._____filesUploading = window.svcrm.formBuilderScripts._____filesUploading - 1; //Need to make sure that we re-enable the submit button in case it didn't happen above in the IF block // otherwise, they can't submit until they fix the issue; we should give them the option to abandon the file upload. if (window.svcrm.formBuilderScripts._____filesUploading <= 0) { //Re-enable submit button document.getElementById('savefrm_button').disabled = false; //hide tooltip var ttip = document.getElementById('submit_tooltiptext'); if (ttip) { ttip.style.visibility = "hidden"; } } } //kill iframe element if it is still around window.svcrm.formBuilderScripts.killFileInputIframeElm(addFileArgs.fldname); }; //this function will delete the file input element from the form, it is called when a file input is selected and the form submitted off to the iframe window.svcrm.formBuilderScripts.killFileInputElm = function(fldId){ var fileInpElmToRemove = document.getElementById(fldId); fileInpElmToRemove.parentNode.removeChild(fileInpElmToRemove); }; //this function will re-create the file input element that was removed when a file was uploaded, this is called when a user clicks the delete button on an image or if we had an erorr upon file upload we wipe the input and recreate so it is empty window.svcrm.formBuilderScripts.recreateFileInputElm = function(fldId){ var elmstored = window.svcrm.formBuilderScripts._____fileInpElmsRemoved[fldId]; var recreatedElm = document.createElement('input'); recreatedElm.type = 'file'; recreatedElm.id = elmstored.id; recreatedElm.name = elmstored.name; recreatedElm.className = elmstored.className; recreatedElm.tabIndex = elmstored.tabIndex; recreatedElm.onchange = function(){ document.getElementById(fldId + '_formbuilder_hidden').value = this.value; window.svcrm.formBuilderScripts.submitFileUpload('frm_'+document.getElementById('formid').value, fldId); }; document.getElementById(fldId+'_container').appendChild(recreatedElm); } //this function will kill off the iframe element if it exists window.svcrm.formBuilderScripts.killFileInputIframeElm = function(fldname){ var iframeElm = document.getElementById('fileUploaderIframe_'+fldname); if(iframeElm){iframeElm.parentNode.removeChild(iframeElm);} }; //this function will remove the file it will wipe the display and hidden input and recreate the file upload input element window.svcrm.formBuilderScripts.removeFile = function(fldId){ //try to remove delete this file from temp if exists try{ //create an iframe and form with a hidden input field that has the name of the file we are trying to wipe var html = '<html><body onload="document.fileDeleterIframeForm.submit();">'; html += '<form name="fileDeleterIframeForm" action="https://SantaMonica.simpleviewcrm.com/webapi/formbuilder/formbuilder_fileDelete.cfm" method="post">'; html += '<input type="hidden" name="filenamevalue" id="filenamevalue" value="'+document.getElementById(fldId+'_formbuilder_hidden').value+'" />'; html += ''; html += '<' + '/' + 'body' + '>' + '<' + '/' + 'html' + '>'; var iframeElm = document.getElementById('fileDeleterIframe_'+fldId); if(iframeElm){iframeElm.parentNode.removeChild(iframeElm);} var iframe = document.createElement('iframe'); iframe.id = 'fileDeleterIframe_'+fldId; iframe.style.display = 'none'; document.body.appendChild(iframe); iframe.contentWindow.document.open(); iframe.contentWindow.document.write(html); iframe.contentWindow.document.close(); }catch(e){ //nothing for now } document.getElementById(fldId+'_formbuilder_hidden').value = ''; var dispElm = document.getElementById(fldId+'_display'); dispElm.innerHTML = ''; dispElm.style.display = 'none'; //recreate the element window.svcrm.formBuilderScripts.recreateFileInputElm(fldId); }; //this function will handle the postMessage's it will make sure that it is coming from the valid crm domain, it will then call the addFile() function passing along the returned json object var _handlePostMessage = function(evt){ //check for correct postMessage source if(typeof evt.origin != 'undefined'){ //only run this if we are from the correct domain var _fixedOrigin = evt.origin + ( (evt.origin.substring(evt.origin.length-1,evt.origin.length) != '/') ? '/' : ''); var crmappurl = 'https://SantaMonica.simpleviewcrm.com/'; if(_fixedOrigin.toLowerCase().indexOf(crmappurl.toLowerCase()) != -1){ var _postMsgRtn = {}; try { _postMsgRtn = JSON.parse(evt.data); //json parse the returned data } catch (e) { return false; } window.svcrm.formBuilderScripts.addFile(_postMsgRtn); //we will let the addFile handle any errors the same way as call from within crm form } } }; if (window.addEventListener) { window.addEventListener('message', _handlePostMessage, false); } else if (window.attachEvent) { window.attachEvent('onmessage', _handlePostMessage); } })(); </script><script type="text/javascript"> /* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS loadCRMForm +++++++++++++++++++++++++++++++++++++*/ (function(){ var crm_locale = {"SEPARATOR_GROUPING":3,"YAHOO_MDY_MONTH_POSITION":1,"CURRENCY_DECIMALPLACES":2,"DATEFMT_MDONLY":"mm/dd","NUMBERFORMATTER":"standard","YAHOO_MDY_YEAR_POSITION":3,"ANGULAR_FORMAT_FILE":"en-us","YAHOO_DATE_FIELD_DELIMITER":"/","YAHOO_START_WEEKDAY":0,"YAHOO_MDY_DAY_POSITION":2,"DOLLARFMT_MASK":"","THOUSANDS_SEPARATOR":",","LOCALE":"en_US","DOLLARFMT":0,"DOLLARFMT_PREFIX":"","NUMBERFMT_MASK":"0,000.00","DATEFMT":"mm/dd/yyyy","DECIMAL_SEPARATOR":".","DOLLARFMT_SUFFIX":""}; svcrm = ((typeof svcrm != 'undefined') ? svcrm : {}); svcrm.formBuilderScripts = ((typeof svcrm.formBuilderScripts != 'undefined') ? svcrm.formBuilderScripts : {}); svcrm.formBuilderScripts.captchaValid = false; svcrm.formBuilderScripts.validCodeElement = document.getElementById('code'); svcrm.formBuilderScripts.curPopupWindow = null; svcrm.formBuilderScripts.lastMouseX = null; svcrm.formBuilderScripts.lastMouseY = null; svcrm.formBuilderScripts.__onload_function = function(){ svcrm.formBuilderScripts.updReq(); if (svcrm.formBuilderScripts.validCodeElement.addEventListener) { svcrm.formBuilderScripts.validCodeElement.addEventListener('keyup', svcrm.formBuilderScripts.checkCapMatch, false); } else if (validCodeElement.attachEvent) { svcrm.formBuilderScripts.validCodeElement.attachEvent('onkeyup', svcrm.formBuilderScripts.checkCapMatch); } var elm = svcrm.formBuilderScripts.validCodeElement; var found = false; while(elm.parentNode && !found){ if(elm.parentNode.getElementsByTagName('form') && elm.parentNode.getElementsByTagName('form')[0] && elm.parentNode.getElementsByTagName('form')[0].name.indexOf('frm_') != -1){ elm = elm.parentNode.getElementsByTagName('form')[0]; found = true; }else{ elm = elm.parentNode; } } var the_crmform = elm; the_crmform.id = 'the_crmform'; the_crmform.onsubmit = function(e){ svcrm.formBuilderScripts.checkCapMatch(); if (svcrm.formBuilderScripts.captchaValid !== true){ alert('This information cannot be sent at this time!nnThe 4 character string you entered does not match the image shown.'); return false; }else { return svcrm.formBuilderScripts.validateForm(the_crmform); } return false; }; }; svcrm.formBuilderScripts.checkCapMatch = function(){ var scriptID = 'captchaCheckJSONP'; //kill the existing one if we have one if(document.getElementById(scriptID)){ document.getElementById(scriptID).parentNode.removeChild(document.getElementById(scriptID)); } var validCode = svcrm.formBuilderScripts.validCodeElement.value; var checkCode = escape( document.getElementById('code_key').value ); if(validCode.length != 4){ svcrm.formBuilderScripts.setCaptchaImg(false); return false; }else{ //jsonP this thing over var s = document.createElement('script'); s.id = scriptID; s.type = 'application/javascript'; s.src = 'https://santamonica.simpleviewcrm.com/webapi/formbuilder/checkcaptcha.cfm?validCode='+validCode+'&checkCode='+checkCode+'&jsonp=svcrm.formBuilderScripts.getCaptchaLookupResults' document.body.appendChild(s); } }; svcrm.formBuilderScripts.getCaptchaLookupResults = function(rtn){ if (rtn) { svcrm.formBuilderScripts.setCaptchaImg(true); }else { svcrm.formBuilderScripts.setCaptchaImg(false); } }; svcrm.formBuilderScripts.setCaptchaImg = function(ok) { var existingCIMG = document.getElementById('capimage'); if (!existingCIMG || existingCIMG.length == 0){ var cimgtag = document.createElement('IMG'); cimgtag.id = 'capimage'; cimgtag.alt= "Verification"; svcrm.formBuilderScripts.validCodeElement.parentNode.appendChild(cimgtag); existingCIMG = document.getElementById('capimage'); } if (ok) { existingCIMG.src = 'https://santamonica.simpleviewcrm.com/core_crm/resources/images/true_ico.gif'; svcrm.formBuilderScripts.captchaValid = true; }else { existingCIMG.src = 'https://santamonica.simpleviewcrm.com/core_crm/resources/images/false_ico.gif'; svcrm.formBuilderScripts.captchaValid = false; } }; /* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS /includes/scripts/formValidations.js +++++++++++++++++++++++++++++++++++++*/ /*Utility Functions, namespaced for nodejs cms sites*/ //Function to format floats //returns false if invalid //dec = number of decimal places to show svcrm.formBuilderScripts.fmtFloat = function(obj, dec){ var lt = "", rt = "", str = "" var inc = 0, num = 0, tmp = 0 if (obj.value.length == 0) obj.value = "0"; if (!svcrm.formBuilderScripts.checkChars(obj.value, ".,0123456789")) return false; // Check for valid number svcrm.formBuilderScripts.stripChars(obj, ","); if (!svcrm.formBuilderScripts.checkNumber(obj.value)) return false; //Split number inc = Math.pow(10, dec); num = (obj.value * 1.0); num = Math.round(num * inc) / inc; str = "" + num; tmp = str.indexOf("."); if (tmp < 0) { str += "."; tmp = str.indexOf("."); } if ((str.length - tmp) <= dec) for (var i = (str.length - tmp); i <= dec; i++) str += "0"; obj.value = str; return true; }; //Function to format integers //returns false if invalid svcrm.formBuilderScripts.fmtInt = function(obj){ if (obj.value.length == 0) { return true; } return (svcrm.formBuilderScripts.checkInteger(obj.value)); }; //Function to formats money fields //returns false if invalid svcrm.formBuilderScripts.fmtMoney = function(obj){ var dec = 0, num = "", sign = 0 var dollars = "", cents = "" var count = 0, tmp = "" if (obj.value.length == 0) { tmp = "0"; cents = ".00"; } else { if (!svcrm.formBuilderScripts.checkChars(obj.value, "$.,0123456789")) return false; // Check for valid number svcrm.formBuilderScripts.stripChars(obj, ","); sign = obj.value.indexOf("$"); if (sign > 0) return false; else { if (sign == 0) num = obj.value.substring(1,obj.value.length); else num = obj.value; if (!svcrm.formBuilderScripts.checkNumber(num)) return false; } // Check precision, round-up if necessary if (num.indexOf(".") != -1) num = "" + (Math.round(num * 100) / 100.0); dec = num.indexOf("."); cents = ((dec > 0) ? num.substring(dec,num.length) : ".00"); if (cents.length == 2) cents += "0"; // Add commas dollars = "" + parseInt(num); for (var i = dollars.length - 1; i >= 0; i--) { if (count == 3) { tmp = "," + tmp; count = 1; } else count ++; tmp = dollars.charAt(i) + tmp; } } // Format number num = "$" + tmp + cents; obj.value = num; return true; }; //Function to format phone numbers //returns false if invalid svcrm.formBuilderScripts.fmtPhone = function(obj){ var phone = ""; var oldphone = ""; if (obj.value.length == 0) return true; //Remove formatting oldphone = obj.value; svcrm.formBuilderScripts.stripChars(obj, "- ()"); phone = obj.value; if (!svcrm.formBuilderScripts.checkChars(phone, "0123456789")) return false; if (phone.length == 10) obj.value = "(" + phone.substring(0,3) + ") " + phone.substring(3,6) +"-" + phone.substring(6,10); else { obj.value = oldphone; return false; } return true; }; //Function to format social security numbers //returns false if invalid svcrm.formBuilderScripts.fmtSSN = function(obj){ var ssn = "" if (obj.value.length == 0) return true; //Remove all dashes svcrm.formBuilderScripts.stripChars(obj, "-"); ssn = obj.value; if (!svcrm.formBuilderScripts.checkChars(ssn, "0123456789")) return false; if (ssn.length == 9) obj.value = ssn.substring(0,3) + "-" + ssn.substring(3,5) + "-" + ssn.substring(5,9); else return false; return true; }; //Function to verify valid URL svcrm.formBuilderScripts.fmtURL = function(obj){ if (obj.value.length == 0) return true; if (obj.value.substring(0,7) != "http://") obj.value = "http://" + obj.value; if (obj.value.length < 10) return false; return true; }; //Function to format zip codes //returns false if invalid svcrm.formBuilderScripts.fmtZip = function(obj){ var numberlist = "0123456789", zip = "" if (obj.value.length == 0) return true; // Remove dashes svcrm.formBuilderScripts.stripChars(obj, "-"); zip = obj.value; if (!svcrm.formBuilderScripts.checkChars(zip, numberlist)) return false; if (zip.length == 5) obj.value = zip; else if (zip.length == 9) obj.value = zip.substring(0,5) + "-" + zip.substring(5,9) else return false; //Passed all tests return true; }; //Returns true if every character is in string list //otherwise false svcrm.formBuilderScripts.checkChars = function(val, charlist){ for (var i = 0; i < val.length; i++) if (charlist.indexOf(val.charAt(i)) < 0) return false; //String passed so it is valid return true; }; //Returns true if valid email //otherwise returns false svcrm.formBuilderScripts.checkEmail = function(obj){ if (obj.value.length != 0) { var pattern = /^['&a-zA-Z0-9._%+-]+@(?:[&a-zA-Z0-9-]+.)+(([a-zA-Z]{2,4})|(aero|coop|info|museum|name|travel))$/; if (!pattern.test(obj.value)) { return false; } else { return true; } } // Valid, passed all tests return true; }; //Returns true if valid phone //otherwise returns false svcrm.formBuilderScripts.checkPhone = function(obj){ if (obj.value.length != 0) { var pattern = /^([+][0-9]{1,3}[ .-])?([(]{1}[0-9]{2,6}[)])?([0-9 .-/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/; if (!pattern.test(obj.value)) { return false; } else { return true; } } // Valid, passed all tests return true; }; //Returns true if value is a number or is NULL //otherwise returns false svcrm.formBuilderScripts.checkInteger = function(object_value){ if (object_value.length == 0) return true; if (object_value.indexOf(".") < 1) return svcrm.formBuilderScripts.checkNumber(object_value); else return false; }; //Returns true if value is a number or is NULL //otherwise returns false svcrm.formBuilderScripts.checkNumber = function(object_value){ if (object_value.length == 0) return true; //Returns true if value is a number defined as // having an optional leading + or -. // having at most 1 decimal point. // otherwise containing only the characters 0-9. var start_format = " .+-0123456789"; var number_format = " .0123456789"; var check_char; var decimal = false; var trailing_blank = false; var digits = false; //The first character can be + - . blank or a digit. check_char = start_format.indexOf(object_value.charAt(0)) //Was it a decimal? if (check_char == 1) decimal = true; else if (check_char < 1) return false; //Remaining characters can be only . or a digit, but only one decimal. for (var i = 1; i < object_value.length; i++) { check_char = number_format.indexOf(object_value.charAt(i)) if (check_char < 0) return false; else if (check_char == 1) { if (decimal) // Second decimal. return false; else decimal = true; } else if (check_char == 0) { if (decimal || digits) trailing_blank = true; // ignore leading blanks } else if (trailing_blank) return false; else digits = true; } //All tests passed return true }; //Returns true if value is a posiitve integer or is NULL //otherwise returns false svcrm.formBuilderScripts.checkPosInteger = function(object_value){ if (object_value.indexOf("-") != -1) return false; else return (svcrm.formBuilderScripts.checkInteger(object_value)); }; //Function to find any char in charlist in the passed string //Returns true if a character is found //Otherwise false svcrm.formBuilderScripts.findChars = function(str, charlist){ for (var i = 0; i < charlist.length; i++) { if (str.indexOf(charlist.charAt(i)) != -1) return true; } return false; }; //Function to remove all occurances of chars in charlist svcrm.formBuilderScripts.stripChars = function(obj, charlist){ var i = 0, pos = 0 var val = obj.value while (i < val.length) { pos = charlist.indexOf(val.charAt(i)); if (pos != -1) val = val.substring(0,i) + val.substring(i + 1, val.length); else i++; } obj.value = val; return true; }; svcrm.formBuilderScripts.cntChars = function(val, charlist){ var i = 0, pos = 0, cnt = 0 for (i = 0; i < val.length; i++) { pos = charlist.indexOf(val.charAt(i)); if (pos != -1) cnt++; } return cnt; }; svcrm.formBuilderScripts.fmtTime = function(fld){ var hr = 0, mn = 0; var val = fld.value; if (val.length == 0) return true; var tt = svcrm.formBuilderScripts.strChars(val, '0123456789: '); if (tt.length > 0) { tt = tt.toUpperCase(); if (tt != 'AM' && tt != 'PM') return false; val = svcrm.formBuilderScripts.strChars(val, ' ampAMP'); } var sepr = val.indexOf(':') if (sepr == -1) { hr = val; mn = 0; } else { hr = val.substring(0, sepr); mn = val.substring(sepr + 1, val.length); } if (isNaN(mn)) mn = 0; if (!svcrm.formBuilderScripts.chkChars(hr, '0123456789')) return false; if (!svcrm.formBuilderScripts.chkChars(mn, '0123456789')) return false; if (hr < 0 || hr > 23) return false; if (mn < 0 || mn > 59) return false; if (hr > 12) { tt = 'PM'; hr = hr - 12; } else if (hr == 0) { tt = 'AM'; hr = 12; } if (mn.toString().length == 0) mn = 0; if (tt.length == 0) { if (hr == 12) tt = 'PM'; else if (hr < 7) tt = 'PM'; else tt = 'AM'; } str = hr; if (mn.toString().length == 1) str = str + ':0' + mn; else str = str + ':' + mn; str = str + ' ' + tt; fld.value = str; return true; }; //Function to remove all occurances of chars in charlist svcrm.formBuilderScripts.strChars = function(val, charlist){ var i = 0, pos = 0 while (i < val.length) { pos = charlist.indexOf(val.charAt(i)); if (pos != -1) val = val.substring(0,i) + val.substring(i + 1, val.length); else i++; } return val; }; svcrm.formBuilderScripts.chkChars = function (val, charlist){ for (var i = 0; i < val.length; i++) if (charlist.indexOf(val.charAt(i)) < 0) return false; return true; }; /* +++++++++++++++++++++++++++ END Script copied from OLD CMS /includes/scripts/formValidations.js +++++++++++++++++++++++++++++++++++++*/ /* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS /includes/scripts/dateValidate.js +++++++++++++++++++++++++++++++++++++*/ // Author: Bill Simpson // Company: 220solutions.com // Email: bill@cfarley.com // Date Created: 02-09-2001 // // Verifies and converts date strings to a valid format // // Valid input dates = // mdyy, mmdyy, mmddyy, mmmddyy, mmddyyyy, mmmddyyyy, // m/d/yy, m/dd/yy, mm/d/yy, mm/dd/yy, mmm/d/yy, mmm/dd/yy, // m/d/yyyy, m/dd/yyyy, mm/d/yyyy, mm/dd/yyyy, mmm/d/yyyy, mmm/dd/yyyy // Valid date seperators = '-./:_, ' // // Notes: Please feel free to use/edit this script. // If you do please keep comments and header // // Code based on functions from // Author: Simon Kneafsey // Email: simonkneafsey@hotmail.com // WebSite: www.simonkneafsey.co.uk // Function to convert supplied date string 'fld' // fld: field containing date string // sep: seperator to use e.g. '-' or '/' // returns false if date string is invalid svcrm.formBuilderScripts.fmtDate = function(fld,sep){ var len = fld.value.length; var seps = new Array('-','.','/',':','_',',',' '); // Array of seperators. var d = '', m = '', y = ''; // date part holders //var div = ''; // divider holder //var outdate1 = null; // formatted date to send back to calling field holder var sepholder = new Array('0','0','0'); // array to hold positions of dividers in dates var s = String(fld.value); var outdate = ''; if (len == 0 ) return true; // Accept 'today' or 'now' if (fld.value.toUpperCase() == 'NOW' || fld.value.toUpperCase() == 'TODAY' ) { var newDate = new Date(); var myDay = newDate.getDate(); var myMonth = newDate.getMonth() + 1; if (navigator.appName == 'Netscape') var myYear = newDate.getYear() + 2000; else var myYear = newDate.getYear(); fld.value = myMonth + "-" + myDay + "-" + myYear; // update string info len = fld.value.length; s = String(fld.value); } // Check the date is a valid length if (len < 4 || len > 11) return false; // Find positions of divider in the date var cnt = 0; for (var i = 0; i < 3; i++) { for (var j = 0; j < seps.length; j++) { if (s.indexOf(seps[j],cnt) != -1) { div = seps[j]; sepholder[i] = s.indexOf(seps[j],cnt); cnt = sepholder[i] + 1; break; } } } // If element 2 is not 0 then more than 2 dividers have been found so date is invalid. if (sepholder[2] != 0) return false; // if no dividers are found strip out date parts if (sepholder[0] == 0 && sepholder[1] == 0) { switch (len) { case 4: // mdyy m = '0' + s.substring(0,1); d = '0' + s.substring(1,2); y = s.substring(2,4); if ((y = svcrm.formBuilderScripts.chkYear(y)) == false) return false; break; case 5: // mmdyy m = s.substring(0,2); d = '0' + s.substring(2,3); y = s.substring(3,5); if ((y = svcrm.formBuilderScripts.chkYear(y)) == false) return false; break; case 6: // mmddyy m = s.substring(0,2); d = s.substring(2,4); y = s.substring(4,6); if ((y = svcrm.formBuilderScripts.chkYear(y)) == false) return false; break; case 7: //mmmddyy m = s.substring(0,3); d = s.substring(3,5); y = s.substring(5,7); if ((m = svcrm.formBuilderScripts.chkMonth(m)) == false) return false; if ((y = svcrm.formBuilderScripts.chkYear(y)) == false) return false; break; case 8: //mmddyyyy m = s.substring(0,2); d = s.substring(2,4); y = s.substring(4,8); break; case 9: //mmmddyyyy m = s.substring(0,3); d = s.substring(3,5); y = s.substring(5,9); if ((m = svcrm.formBuilderScripts.chkMonth(m)) == false) return false; break; default: return false; } if ((outdate = svcrm.formBuilderScripts.chkDate(m,d,y,sep)) == false) return false; // valid date fld.value = outdate; return true; } else if (sepholder[0] != 0 && sepholder[1] != 0) { // process with dividers m = s.substring(0, sepholder[0]); d = s.substring(sepholder[0] + 1, sepholder[1]); y = s.substring(sepholder[1] + 1, s.length); } else // Only one divider return false; // Check day and year are numeric if (isNaN(d) && isNaN(y)) return false; // Make d day dd if (d.length == 1) d = '0' + d; // Make m month mm if (m.length == 1) m = '0' + m; // Make yy year yyyy if (y.length == 2) if ((y = svcrm.formBuilderScripts.chkYear(y)) == false ) return false; // Make mmm month mm if (m.length == 3 || m.length == 4) { if ((m = svcrm.formBuilderScripts.chkMonth(m)) == false) return false; } // Date components are OK if (d.length != 2 || m.length != 2 || y.length != 4) return false; // Validate the date if ((outdate = svcrm.formBuilderScripts.chkDate(m,d,y,sep)) == false) return false; // Valid date fld.value = outdate; return true; }; // checks for a valid date // m: month part (2 digit) // d: day part (2 digit) // y: year part (4 digit) // returns: date string formatted if valid, false if invalid svcrm.formBuilderScripts.chkDate = function(m, d, y, sep){ var dayArray = new Array(31,28,31,30,31,30,31,31,30,31,30,31); var dstr = m + d + y; var filter=/^[0-9]{2}[0-9]{2}[0-9]{4}$/; // Check mmddyyyy date supplied if (!filter.test(dstr)) return false; // Check valid month filter=/01|02|03|04|05|06|07|08|09|10|11|12/; if (!filter.test(m)) return false; // Check year if (y < 1900 || y > 2078) return false; // Check for leap year var n = Number(y); if (n % 4 == 0 && (n % 100 != 0 || n % 400 == 0)) dayArray[1] = 29; // Check for valid days for month var mnum = Number(m); if (d > dayArray[mnum - 1] || d <= 0) return false; // Valid date return m + sep + d + sep + y; }; // Checks for valid month // m: month part (3 or 4 digit) // returns: 2 digit month if valid, false is invalid svcrm.formBuilderScripts.chkMonth = function(m){ var months = new Array('JAN','FEB','MAR','APR','MAY','JUN','JUL','AUG','SEP','OCT','NOV','DEC'); m = m.toUpperCase(); if (m.length == 3) { for (var i = 0; i < 12; i++) { if (m == months[i]) { m = i + 1; if (i < 10) m = '0' + m; return m; } } } else if (m.length == 4 && m == 'SEPT') { m = '09'; return m; } else return false; }; // Check for a valid year // y: year part (2 digit) // returns: 4 digit year if valid, false if invalid svcrm.formBuilderScripts.chkYear = function(y){ if (y < 75) { y = "20" + y; return y; } else if (y >= 75) { y = "19" + y; return y; } else return false; }; svcrm.formBuilderScripts.showDate = function(baseURL, fld, frm) { var urlSeparator = '?'; if("https://www.santamonica.com".indexOf('?') != -1){ urlSeparator = '&'; } var str = "https://www.santamonica.com" + urlSeparator + "action=popupCal&frm=" + frm + "&fld=" + fld + '&randid=' + new Date().getTime(); if (eval("document." + frm + "." + fld).value.length > 0) str = str + "&cdate=" + eval("document." + frm + "." + fld).value; svcrm.formBuilderScripts.openPopup(str, "calwin", 210, 210, "width=210,height=210,toolbar=no,status=no,directories=no,menubar=no,resizable=no,scrollable=no", true); }; svcrm.formBuilderScripts.openPopup = function(url, name, pWidth, pHeight, features, snapToLastMousePosition) { svcrm.formBuilderScripts.openPopupFocus(url, name, pWidth, pHeight, features, snapToLastMousePosition, true); }; svcrm.formBuilderScripts.closePopup = function(){ if (svcrm.formBuilderScripts.curPopupWindow != null) { if (!svcrm.formBuilderScripts.curPopupWindow.closed) svcrm.formBuilderScripts.curPopupWindow.close(); svcrm.formBuilderScripts.curPopupWindow = null; } }; svcrm.formBuilderScripts.openPopupFocus = function(url, name, pWidth, pHeight, features, snapToLastMousePosition, closeOnLoseFocus) { svcrm.formBuilderScripts.closePopup(); if (snapToLastMousePosition) { if (svcrm.formBuilderScripts.lastMouseX - pWidth < 0) { svcrm.formBuilderScripts.lastMouseX = pWidth; } if (svcrm.formBuilderScripts.lastMouseY + pHeight > screen.height) { svcrm.formBuilderScripts.lastMouseY -= (svcrm.formBuilderScripts.lastMouseY + pHeight + 50) - screen.height; } svcrm.formBuilderScripts.lastMouseX -= pWidth; svcrm.formBuilderScripts.lastMouseY += 10; features += "screenX=" + svcrm.formBuilderScripts.lastMouseX + ",left=" + svcrm.formBuilderScripts.lastMouseX + "screenY=" + svcrm.formBuilderScripts.lastMouseY + ",top=" + svcrm.formBuilderScripts.lastMouseY; } if (closeOnLoseFocus) { curPopupWindow = window.open(url, name, features, false); curPopupWindow.focus(); } else { win = window.open(url, name, features, false); win.focus(); } }; svcrm.formBuilderScripts.setLastMousePosition = function(e) { if (navigator.appName.indexOf("Microsoft") != -1) e = window.event; svcrm.formBuilderScripts.lastMouseX = e.screenX; svcrm.formBuilderScripts.lastMouseY = e.screenY; }; /* +++++++++++++++++++++++++++ END Script copied from OLD CMS /includes/scripts/dateValidate.js +++++++++++++++++++++++++++++++++++++*/ /* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS /includes/scripts/ziplookup.js +++++++++++++++++++++++++++++++++++++*/ svcrm.formBuilderScripts.zipLookup = function(fuseroot, zip, fldCity, fldState){ var scriptID = 'zipLookupJSONP'; //kill the existing one if we have one if(document.getElementById(scriptID)){ document.getElementById(scriptID).parentNode.removeChild(document.getElementById(scriptID)); } if (svcrm.formBuilderScripts.trim(zip).length != 5 || !svcrm.formBuilderScripts.checkChars(zip, "0123456789")){ return false; }else{ //jsonP this thing over var s = document.createElement('script'); s.id = scriptID; s.type = 'application/javascript'; s.src = 'https://santamonica.simpleviewcrm.com/webapi/formbuilder/ziplookup.cfm?zip='+zip+'&fldCityId='+fldCity.id+'&fldStateId='+fldState.id+'&jsonp=svcrm.formBuilderScripts.processZipChange' document.body.appendChild(s); } }; svcrm.formBuilderScripts.processZipChange = function(rtn){ var fldCity = document.getElementById(rtn.fldCityId); var fldState = document.getElementById(rtn.fldStateId); if (rtn.city.length > 0 && fldCity != '') fldCity.value = rtn.city; else if (fldCity != '') fldCity.value = ''; if (rtn.state.length > 0 && fldState != '') { for (var i = 0; i < fldState.options.length; i++) { if (fldState.options[i].value == rtn.state) { fldState.selectedIndex = i; break; } } if (i == fldState.options.length) fldState.selectedIndex = 0; } else if (fldState != '') fldState.selectedIndex = 0; }; /* +++++++++++++++++++++++++++ END Script copied from OLD CMS /includes/scripts/ziplookup.js +++++++++++++++++++++++++++++++++++++*/ /* +++++++++++++++++++++++++++ START Script Calendar +++++++++++++++++++++++++++++++++++++*/ svcrm.formBuilderScripts.fbCalendar = { today: new Date(), monthNames: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], dayList: ['S','M','T','W','T','F','S'], dayListTds: function(){ var rtn = ''; for(var i = 0; i < this.dayList.length; i++){ rtn += '<td align="center" class="Day" width="22">' + this.dayList[i] + ''; } return rtn; }, getPrevMonthDate: function (curDate) { var y = curDate.getFullYear(); var m = curDate.getMonth(); if (m === 0) { y -= 1; m = 12; } if (m.toString().length == 1) { m = '0' + m.toString(); } return m + '/01/' + y; }, getNextMonthDate: function (curDate) { var y = curDate.getFullYear(); var m = curDate.getMonth() + 2; if (m == 13) { y += 1; m = 1; } if (m.toString().length == 1) { m = '0' + m.toString(); } return m + '/01/' + y; }, getPrevYearDate: function(curDate){ var y = curDate.getFullYear()-1; var m = curDate.getMonth()+1; if (m.toString().length == 1) { m = '0' + m.toString(); } return m + '/01/' + y; }, getNextYearDate: function (curDate) { var y = curDate.getFullYear() + 1; var m = curDate.getMonth()+1; if (m.toString().length == 1) { m = '0' + m.toString(); } return m + '/01/' + y; }, getCurMonthName: function (curDate) { return this.monthNames[curDate.getMonth()]; }, createCal: function (id, sDate, useToday) { try{ if(sDate){ sDate = new Date(sDate); }else{ sDate = this.today; } } catch (e) { sDate = this.today; } var d = { inDate: sDate, today: this.today, day: sDate.getDate(), month: sDate.getMonth() + 1, year: sDate.getFullYear(), prevMonth: this.getPrevMonthDate(sDate), nextMonth: this.getNextMonthDate(sDate), calendar: ' '+ '<div id="fbCalendar" align="center"> ' + '<div class="fbCalCloseBtn" onclick="svcrm.formBuilderScripts.fbCalendar.showDatePicker(document.getElementById(' + "'datepicker_" + id + "'" + '));"> '+ '<table border="0" cellpadding="2" cellspacing="1" width="154"> '+ '<tr> '+ '<td class="CH"> '+ '<a class="CH" href="javascript:svcrm.formBuilderScripts.fbCalendar.replaceCal(\'' + id + '\',\'' + this.getPrevMonthDate(sDate) + '\');"><< ' + this.getCurMonthName(sDate) + ' <a class="CH" href="javascript:svcrm.formBuilderScripts.fbCalendar.replaceCal(\'' + id + '\',\'' + this.getNextMonthDate(sDate) + '\');">>> '+ ' '+ '<td align="right" class="CH"> '+ '<a class="CH" href="javascript:svcrm.formBuilderScripts.fbCalendar.replaceCal(\'' + id + '\',\'' + this.getPrevYearDate(sDate) + '\');"><< ' + sDate.getFullYear() + ' <a class="CH" href="javascript:svcrm.formBuilderScripts.fbCalendar.replaceCal(\'' + id + '\',\'' + this.getNextYearDate(sDate) + '\');">>>'+ ' '+ ' '+ ' '+ '<table border="0" cellpadding="2" cellspacing="1" width="154"> '+ '<tr bgcolor="#ffffff">' + this.dayListTds() + '' + this.calDays(id, sDate, useToday) + ' '+ '' }; return d.calendar; }, calDays: function(id, curDate, useToday){ var rtnvar = ''; var numDaysInMonth = new Date(curDate.getFullYear(), curDate.getMonth()+1, 0).getDate(); var startofmonth = new Date(); startofmonth = new Date(curDate.getFullYear(),curDate.getMonth(),1); var rows = Math.ceil((startofmonth.getDay()+numDaysInMonth)/7); var cday = 1; var firstday = startofmonth.getDay()+1; var lastday = numDaysInMonth; var loopstart = 0; var loopend = 0; var currentDate = new Date(); currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()); for(var i = 1; i <= rows; i++){ rtnvar += '<tr bgcolor="#ffffff">'; loopstart = ((i-1)*7)+1; loopend = loopstart+6; for(var d = loopstart; d <= loopend; d++){ rtnvar += '<td align="center" bgcolor="#ffffff" class="Day">'; if(d >= firstday && cday <= lastday){ var dt = new Date(curDate.getFullYear(), curDate.getMonth(), cday); var tmpDt = new Date(curDate.getFullYear(), curDate.getMonth(), curDate.getDate()); var className = (dt.getTime() == tmpDt.getTime() && useToday) ? 'today' : 'Day'; className += dt.getTime() == currentDate.getTime() ? ' currentDay' : ''; var thisdate = this.convertToUserDate(parseInt(dt.getMonth()+1,10) +'/'+parseInt(dt.getDate(),10)+'/'+parseInt(dt.getFullYear(), 10)); rtnvar += '<a class="' + className + '" href="javascript:svcrm.formBuilderScripts.fbCalendar.updateDate(\'' + id + '\',\'' + thisdate + '\');">' + cday + '<br>'; cday++; }else{ rtnvar += ' <br />'; } } rtnvar += ''; } return rtnvar; }, replaceCal: function (id, sDate) { var cal = this.createCal(id, sDate, false); if (document.getElementById(id + '_calendar')) { document.getElementById(id + '_calendar').innerHTML = cal; } else { var newDomElm = document.createElement('div'); newDomElm.style.position = 'absolute'; newDomElm.innerHTML = cal; newDomElm.id = id + '_calendar'; if (document.getElementById('fieldcontainer_' + id)) { document.getElementById('fieldcontainer_' + id).appendChild(newDomElm); } } return; }, updateDate: function(id, curDate){ document.getElementById(id).value = curDate; //document.getElementById(id).onchange(); if(document.getElementById(id + '_calendar')){ document.getElementById('fieldcontainer_' + id).removeChild(document.getElementById(id + '_calendar')); } if(document.getElementById('datepicker_' + id)){ document.getElementById('datepicker_' + id).onclick = function(){ svcrm.formBuilderScripts.fbCalendar.showDatePicker(document.getElementById(id), document.getElementById(id).value); }; } }, showDatePicker: function(domElm, curDate){ var cleanID = domElm.id.replace('datepicker_', ''); var sDate = new Date(); if(!document.getElementById(cleanID + '_calendar')){ if(document.getElementById(cleanID)){ try{ if(curDate){ sDate = this.convertToUSDate(curDate); if(sDate == 'Invalid Date'){ sDate = new Date(); } } }catch(e){ sDate = new Date(); } this.getCalendar(cleanID, sDate); } }else{ document.getElementById('fieldcontainer_' + cleanID).removeChild(document.getElementById(cleanID + '_calendar')); } }, getCalendar: function(id, curDate){ var newDomElm = document.createElement('div'); newDomElm.style.position = 'absolute'; newDomElm.innerHTML = this.createCal(id, curDate, true); newDomElm.id = id + '_calendar'; newDomElm.className = 'svcrm_datepicker'; document.getElementById('fieldcontainer_' + id).appendChild(newDomElm); }, convertToUSDate: function(dte){ var rtnvar = false; var wrk = dte.split(crm_locale.YAHOO_DATE_FIELD_DELIMITER); var wrkdate = []; var mydate = ''; if(wrk.length > 0){ wrkdate[0] = parseInt(wrk[crm_locale.YAHOO_MDY_DAY_POSITION-1],10); //always holds the day wrkdate[1] = parseInt(wrk[crm_locale.YAHOO_MDY_MONTH_POSITION-1],10); //always holds the month wrkdate[2] = parseInt(wrk[crm_locale.YAHOO_MDY_YEAR_POSITION-1],10); //always holds the year if(wrkdate[1] > 0 && wrkdate[1] < 13){ //Validate the months var monthsWithDaysRegExp = new RegExp("(4|6|9|11)", "gi"); var numdays = 31; if(wrkdate[1] == 2){//feb numdays = 28; //check if leap year if (wrkdate[2] % 4 === 0 && (wrkdate[2] % 100 !== 0 || wrkdate[2] % 400 === 0)){ numdays = 29; } }else if(monthsWithDaysRegExp.test(wrkdate[1])){ numdays = 30; } if(wrkdate[0] > 0 && wrkdate[0] <= numdays){ //validate the days in this month if(wrkdate[2].toString().length == 2){ //if we have a two digit year pad it wrkdate[2] = chkYear(wrkdate[2]); } if(wrkdate[2].toString().length == 4 && !isNaN(wrkdate[2])){ //validate the year, could expand this /* we are here we have a valid month and we have a valid day for that month and we have a valid 4 digit year */ //fld.value = wrkdate.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); wrk[1] = wrkdate[0]; //put the day back where it should be wrk[0] = wrkdate[1]; //put the month back where it should be wrk[2] = wrkdate[2]; //put the year back where it should be wrkdate = wrk.join("/"); //join on the us delim and return valid rtnvar = true; } } } } if(!rtnvar){ //if we didn't get a good date from above we use today wrkdate = new Date(); } return wrkdate; }, convertToUserDate: function(dte){ var rtnvar = false; var wrk = dte.split("/"); var wrkdate = []; var mydate = ''; if(wrk.length > 0){ wrkdate[0] = parseInt(wrk[1],10); //always holds the day wrkdate[1] = parseInt(wrk[0],10); //always holds the month wrkdate[2] = parseInt(wrk[2],10); //always holds the year if(wrkdate[1] > 0 && wrkdate[1] < 13){ //Validate the months var monthsWithDaysRegExp = new RegExp("(4|6|9|11)", "gi"); var numdays = 31; if(wrkdate[1] == 2){//feb numdays = 28; //check if leap year if (wrkdate[2] % 4 === 0 && (wrkdate[2] % 100 !== 0 || wrkdate[2] % 400 === 0)){ numdays = 29; } }else if(monthsWithDaysRegExp.test(wrkdate[1])){ numdays = 30; } if(wrkdate[0] > 0 && wrkdate[0] <= numdays){ //validate the days in this month if(wrkdate[2].toString().length == 2){ //if we have a two digit year pad it wrkdate[2] = chkYear(wrkdate[2]); } if(wrkdate[2].toString().length == 4 && !isNaN(wrkdate[2])){ //validate the year, could expand this /* we are here we have a valid month and we have a valid day for that month and we have a valid 4 digit year */ //fld.value = wrkdate.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); wrk[crm_locale.YAHOO_MDY_DAY_POSITION-1] = wrkdate[0]; //put the day back where it should be wrk[crm_locale.YAHOO_MDY_MONTH_POSITION-1] = wrkdate[1]; //put the month back where it should be wrk[crm_locale.YAHOO_MDY_YEAR_POSITION-1] = wrkdate[2]; //put the year back where it should be wrkdate = wrk.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); //join on the correct delim and return valid rtnvar = true; } } } } if(!rtnvar){ //I dont really know what to do here i guess just use today and convert to their date var t = new Date(); t = t.getMonth()+1 + '/' + t.getDay() + '/' + t.getFullYear(); wrkdate = this.convertToUserDate(t); } return wrkdate; }, convertToUserMDOnlyDate: function(dte){ var dateFormat_MDOnly = crm_locale.DATEFMT_MDONLY.split(crm_locale.YAHOO_DATE_FIELD_DELIMITER); var _day = dte.getDate().toString(); var _month = (dte.getMonth() + 1).toString(); var _dayFormat = ''; var _monthFormat = ''; var _dayPostion = ''; var _monthPostion = ''; if(dateFormat_MDOnly[0].indexOf('d') != -1){ _dayFormat = dateFormat_MDOnly[0]; _monthFormat = dateFormat_MDOnly[1]; _dayPostion = 0; _monthPostion = 1; }else{ _dayFormat = dateFormat_MDOnly[1]; _monthFormat = dateFormat_MDOnly[0]; _dayPostion = 1; _monthPostion = 0; } if(_dayFormat == 'dd' && _day.length != 2){ _day = '0' + _day; } if(_monthFormat == 'mm' && _month.length != 2){ _month = '0' + _month; } var dsp = []; dsp[_dayPostion] = _day; dsp[_monthPostion] = _month; dsp = dsp.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); return dsp; } }; /* +++++++++++++++++++++++++++ END Script Calendar +++++++++++++++++++++++++++++++++++++*/ if (window.addEventListener) { window.addEventListener('load', svcrm.formBuilderScripts.__onload_function, false); } else if (window.attachEvent) { window.attachEvent('onload', svcrm.formBuilderScripts.__onload_function); } })(); /* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS loadCRMForm +++++++++++++++++++++++++++++++++++++*/ </script><script type="text/javascript"> svcrm.formBuilderScripts.checkCapMatch(); // Recaptcha onload callback var onloadCallback = function() { grecaptcha.render('g-recaptcha',{'sitekey':'6Ld4CewUAAAAAD0GiL0HwYem9gzYihrPZaJ96409'}); //$.fn.matchHeight._update(); } // function to load in the recaptcha scripts var loadRecaptcha = function() { if (document.getElementById('g-recaptcha')) { var gscript = document.createElement("script"); gscript.setAttribute('src', "https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"); var recap = document.getElementById('g-recaptcha'); var recapParent = recap.parentNode; recapParent.insertBefore(gscript, recap); } } // attach the function to load script to the page load event if (window.addEventListener) { window.addEventListener('load', loadRecaptcha, false); } else if (window.attachEvent) { window.attachEvent('onload', loadRecaptcha); } // new captcha validation! var oldValidate = svcrm.formBuilderScripts.validateForm; svcrm.formBuilderScripts.validateForm = function(frm) { if (grecaptcha.getResponse() == '') { return svcrm.formBuilderScripts.processValidationMessages(' Captchan', ''); } return oldValidate(frm); } </script><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"384303b0e6","applicationID":"8061896","transactionName":"bwFbYEEFDEMFUEVRWVZLeFdHDQ1eS0dUVUZUBU1RHgINQgkeUldYXg1LWVIQC18K","queueTime":0,"applicationTime":681,"atts":"Q0ZYFgkfH00=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>