{"browserTitle":"Charleston Commercial Photographer - Drew Somerville","copyright":"Drew Somerville - <a href=\"mailto:drew@drewsomervillephotography.com\" style=\"color: black; text-decoration: none;\">drew@drewsomervillephotography.com</a>- (843)-754-8128 ","metaDescription":" Drew Somerville is an accomplished commercial photographer and lifestyle photographer in Charleston, South Carolina. He creates warm, candid images for brands in the fashion, lifestyle, product, and hospitality spaces.","metaKeywords":"Commercial Photographer","localMasterVersion":"16.0","backgroundImages":[],"filters":["About Me","Demo Images","Demo Text Pages","Demo Videos","Fashion","Food","Lifestyle and Product","Overview","Personal","Projects","Social Media Links"],"portfolioEmailMessage":"Check out this photograph:","socialLinks":[10857,10858],"useHTML":true,"globalBrowserTitle":false,"facebookImage":"","facebookAdmins":"","facebookUseMeta":false,"podUseDesktop":false,"padUseDesktop":false,"generalEmail":"drew@drewsomervillephotography.com","inquiryTitle":"","inquiryInfo":"","lang":"en","betaProgramEnabled":false,"advancedSeo":true,"betaProgramVisible":true,"adminSortDefault":"dateAdded descending","enablePinterest":false,"currentTemplate":2,"enableCookieBanner":false,"cookieBannerPosition":"bottom","cookieBannerLink":"","cookieBannerMessage":"By continuing to visit this site you agree to our use of cookies.","siteHead":"","siteBody":"<script>\nfunction JSONXHR(v) {\nfunction removeNonPrintingChars(str) {\nreturn typeof str === 'string' ? str.replace(/\\u2028|\\u2029/g, '') : str;\n}\n\nvar xhr = new XMLHttpRequest();\nxhr.addEventListener(\"load\", response);\nxhr.addEventListener(\"error\", error);\nxhr.addEventListener(\"abort\", error);\nxhr.open(v.method || \"POST\", v.url);\nxhr.setRequestHeader('Content-type', 'application/json; charset=utf-8');\nxhr.send(removeNonPrintingChars(JSON.stringify(v.params)));\n\nfunction response(e) {\nif (e.target.response) {\nv.callback.apply(v.callback, [JSON.parse(e.target.response)]);\n} else {\nv.callback.call(v.callback);\n}\n}\n\nfunction error(e) {\nif (typeof v.onError === 'function') {\nv.onError(e);\n} else {\nconsole.error(e);\n}\n}\n}\n\nfunction setInputWarn(el, warning) {\nel.colorSaved = el.style.color;\nel.style.color = '#DD2222';\nel.savedValue = el.value;\nel.value = warning;\nsetTimeout(function() {\nel.style.color = el.colorSaved;\nel.value = el.savedValue;\n}, 1500);\n}\n\nfunction getContactFormData(vars) {\nvar first = document.getElementById(vars.first);\nvar email = document.getElementById(vars.email);\nvar phone = document.getElementById(vars.phone);\nvar subject = document.getElementById(vars.subject);\nvar msg = document.getElementById(vars.msg);\nvar btn = document.getElementById(vars.btn);\nvar success = document.getElementById(vars.success);\nvar error = document.getElementById(vars.error);\n\nif (first && first.value && email && email.value && subject && subject.value && msg && msg.value) {\nlet combinedMessage = `Subject: ${subject.value}\\n\\n${msg.value}`;\n\nJSONXHR({\nurl: '/dx/siteservice/email/contact',\nparams: {\nTitle: \"Contact Form\",\nName: first.value,\nEmail: email.value,\ntoEmail: \"drew@drewsomervillephotography.com\",\nPhone: phone.value,\nsubject: \"Contact Form from drewsomervillephotography.com\", // Constant subject line\nComments: combinedMessage // Combined subject + message\n},\ncallback: function(r) {\n[first, email, phone, subject, msg, btn].forEach(el => el.style.opacity = '0');\nif (r.status === 'pass') {\nsuccess.style.opacity = '1';\nif (typeof gtag !== \"undefined\") {\ngtag('event', 'contact_form_submission', {\n  event_category: 'Form Submission',\n  event_label: 'Contact Form Submission',\n  page_path: window.location.pathname\n});\n}\n} else {\nerror.style.opacity = '1';\nthrow new Error('contact form failed');\n}\n}\n});\n} else {\nvar emailCheck = /^\\w+@[a-zA-Z_]+?\\.[a-zA-Z]{2,3}$/;\nif (first && !first.value) setInputWarn(first, 'Please Enter Name');\nif (email && !email.value) setInputWarn(email, 'Please Enter Email');\nif (email && email.value && !email.value.match(emailCheck)) setInputWarn(email, 'Please Enter VALID Email');\nif (subject && !subject.value) setInputWarn(subject, 'Please Enter Subject');\nif (msg && !msg.value) setInputWarn(msg, 'Please Enter Message');\n}\n}\n</script>","customFonts":[],"favicon":"DSP_Logo_FINAL_REVERSE.png","blogSectionId":0,"logoFile":"DSP_Logo_FINAL.png","logoText":"Drew Somerville Photography","logoHtml":"","introFile":"","tabletLogoFile":"","dev":false,"globalMasterVersion":"16.0","globalBetaVersion":"16.1","revision":0,"cdnSslUri":"/pf-media","defaultEditorMode":"source","redirects":[],"contactInfo":"\n\n8437548128","accountName":"dsomerville","rsSslUri":"/pf-media","adminLockout":false}