1 2//<script> 3 4 5 6$(document).ready(function() { 7 8 $(document).on('submit', '.more-info-form', function(e) { 9 10 11 if ($(this).parents('.live-chat-form').length) return true; 12 13 e.preventDefault; 14 15 16 17 var formVals = _.reduce($(this).find('input,textarea,select'), function(m, elem) { 18 if (elem.name == "") return m; 19 if (elem.type == 'checkbox') { 20 m[elem.name] = elem.checked; 21 } else { 22 m[elem.name] = elem.value; 23 } 24 if (elem.type == 'radio' && elem.checked) { 25 m[elem.name] = elem.value; 26 } 27 return m; 28 }, {}); 29 30 $(this).find('[type="submit"]').addClass('submitting').attr('disabled', 'disabled'); 31 32 33 formVals['type'] = window.globalFormType ? globalFormType : 'nn_more_info_form'; 34 formVals['typeClass'] = window.globalFormTypeClass ? globalFormTypeClass : 'nn_contact_form'; 35 formVals['scheduleStatus'] = 'not_scheduled'; 36 if(formVals.text) { 37 formVals['commStatus'] = 'needs_initial_answer'; 38 formVals['workflowStatus'] = 'needs_answer'; 39 } 40 else { 41 formVals['commStatus'] = 'no_comm_from_public'; 42 formVals['workflowStatus'] = 'received'; 43 } 44 45 var that = this; 46 47 email_validate(formVals.email, function() { 48 sendForm(that, formVals); 49 }, function() { 50 email_validation_error(formVals.email, that); 51 }); 52 53 return false; 54 55 }); 56 57 58 function sendForm(that, formVals) { 59 60 61 if(window.location.pathname == '/get-help/orientation-link.action') { 62 formVals["nn-film-video-locale"] = formVals["nn-film-video-language"]; 63 formVals["nn-film-video-language"] = $('[name="nn-film-video-language"] option:selected').text(); 64 65 formVals["nn-film-link-expiration-time"] = formVals["nn-film-link-expiration"]; 66 var expire = new Date( new Date().getTime() + $('[name="nn-film-link-expiration"]').val() * 60 * 60 * 1000); 67 formVals["nn-film-link-expiration"] = expire.toLocaleString(); 68 69 var val = $('[name="countryCode"]').val(); 70 if(val == "RU") { 71 formVals["nn-film-video-locale"] = $('[name="nn-film-video-language-b"]').val(); 72 formVals["nn-film-video-id"] = "narconon-orientation-vers-b"; 73 } else if(val == "GB" || val == "IE") { 74 formVals["nn-film-video-locale"] = $('[name="nn-film-video-language-c"]').val(); 75 formVals["nn-film-video-id"] = "narconon-orientation-vers-c"; 76 } else { 77 formVals["nn-film-video-locale"] = $('[name="nn-film-video-language-a"]').val(); 78 formVals["nn-film-video-id"] = "narconon-orientation-vers-a"; 79 } 80 81 $.ajax({ 82 url: globalReachesEndpoint, 83 data: formVals, 84 dataType: 'json', 85 timeout: 15000, 86 success: function(data) { 87 if($(that).hasClass("subscribe-more-info-form")) { 88 $(that).addClass('success-message'); 89 } 90 91 $(that).find('[type="submit"]').removeClass('submitting').html(window._gcui_submitted ? _gcui_submitted : 'Submitted'); 92 console.log(data); 93 $('.expiration-wrapper').removeClass('hidden'); 94 $('.expiration-wrapper pre').text(data.Link); 95 96 var expire = new Date( new Date().getTime() + $('[name="nn-film-link-expiration"]').val() * 60 * 60 * 1000); 97 $('.expiration-wrapper date').text(expire.toLocaleString()); 98 99 window.ga && ga('send', 'event', "Reached", formVals['type'], formVals['typeClass']); 100 if (typeof centerMetaData != "undefined" && centerMetaData.GaAccount) { 101 window.ga && ga('centerTracker.send', 'event', "Reached", formVals['type'], formVals['typeClass']); 102 } 103 }, 104 error: function() { 105 formError(that, arguments); 106 } 107 }); 108 } else { 109 110 $.ajax({ 111 url: globalReachesEndpoint, 112 data: formVals, 113 dataType: 'jsonp', 114 timeout: 15000, 115 success: function(data) { 116 if (data && data.result && !data.error) { 117 118 setTimeout(function() { 119 $(that).find('[type="submit"]').removeClass('submitting').html(window._gcui_submitted ? _gcui_submitted : 'Submitted'); 120 $(that).addClass('success-message'); 121 }, 1000); 122 123 window.globalFormSubmittionSuccess && globalFormSubmittionSuccess(); 124 125 } else { 126 127 formError(that, data); 128 } 129 }, 130 error: function() { 131 formError(that, arguments); 132 } 133 }); 134 135 } 136 137 } 138 139 140 var emailValidateSecondTry = false;
141 142 $(document).on('blur', 'input[name="email"]', function(e) { 143 emailValidateSecondTry = false; 144 }); 145 146 function email_validate(email, successCallback, errorCallback) { 147 return successCallback(); 148 } 149 150 151 function email_validation_error(email, that) { 152 emailValidateSecondTry = true; 153 window.console && console.error && console.error('email validation error'); 154 _tr.push(['_trackEvent', 'Errors', document.location + '', 'email did not validate (' + email + ')']); 155 alert('Sorry, your email address does not appear to be valid. Please review it and try again.'); 156 $(that).find('[type="submit"]').removeClass('submitting').removeAttr('disabled'); 157 } 158 159}); 160 161function formError(formDom, data) { 162 window.console && console.error && console.error("form submission error:"); 163 window.console && console.error && console.error(data); 164 alert('There was an error in submitting your form! Please try again later.'); 165 $(formDom).find('[type="submit"]').removeClass('submitting').removeAttr('disabled'); 166} 167 168$(document).ready(function() { 169 170 171 var cc = 0; 172 $(document).on('keyup mouseup', function (e) { 173 if (cc++ == 2) $('[name=captcha]').val('V@3fsasdfasdfAAdgf9J*'); 174 }); 175 176 177 $('.autowired input[type="text"], .autowired textarea, .autowired select').each(function() { 178 if (!$(this).attr('id') && $(this).attr('name')) $(this).attr('id', $(this).attr('name')); 179 if ($(this).attr('id') && !$(this).attr('name')) $(this).attr('name', $(this).attr('id')); 180 }); 181 182 183 var $countryElem = $('[name="countryCode"]'); 184 var $stateElem = $('[name="stateProvince"]'); 185 var defaultCountry = 'US'; 186 var firstStateUpdate = true; 187 188 $countryElem.on('change', function(e) { 189 updateStateList(); 190 }); 191 192 setTimeout(function() { 193 194 if (window.globalGeolocationData) { 195 var defaultCountry = safeNav('globalGeolocationData.estimated_location.country_code'); 196 if (defaultCountry) defaultCountry = defaultCountry.toUpperCase(); 197 $countryElem.val(defaultCountry); 198 updateStateList(); 199 _idmgr_org_pref_set_callback(); 200 } else { 201 $(document).bind('geolocated', function() { 202 var defaultCountry = safeNav('globalGeolocationData.estimated_location.country_code'); 203 if (defaultCountry) defaultCountry = defaultCountry.toUpperCase(); 204 $countryElem.val(defaultCountry); 205 updateStateList(); 206 _idmgr_org_pref_set_callback(); 207 }); 208 } 209 210 }, 500); 211 212 213 $.getScript('/theme/js/polyfiller.js', function() { 214 215 216 webshim.setOptions('basePath', '/theme/js/shims/'); 217 webshim.polyfill('forms'); 218 }); 219 220 $(document).on('keyup', 'input[type="text"],textarea', function(e) { 221 $(this).removeClass('errored'); 222 }); 223 224 225 function updateStateList() { 226 227 if (!$countryElem.val()) return; 228 229 var countrySelected = $countryElem.val().toUpperCase(); 230 231 $.ajax({ 232 url: _gcui_sd_url + '/lookups/state_list.html?countryCode=' + countrySelected, 233 dataType: 'jsonp', 234 cache: true, 235 jsonpCallback: 'state_list_lookup_callback', 236 success: function(data) { 237 $stateElem.html(_gcui_selectElem + 238 _.reduce(data, function(m, v, k) { 239 return m + '<option value="' + k + '">' + v + '</option>'; 240 }, '') + 241 '<option data-other="true" value="other">' + _gcui_otherText + '</option>' 242 ); 243 if (firstStateUpdate) { 244 var defaultState = safeNav('globalGeolocationData.estimated_location.region_code'); 245 if (defaultState) defaultState = defaultState.toUpperCase(); 246 if (defaultState && $stateElem.find('[value="' + defaultCountry + '-' + defaultState + '"]').length) $stateElem.val(defaultCountry + '-' + defaultState); 247 firstStateUpdate = false;
248 } else { 249 $stateElem.find('[value=""]').attr('selected', 'selected'); 250 } 251 252 }, 253 error: function(xhr, status, error) { 254 var err = xhr.responseText; 255 window.console && console.error && console.error(err); 256 $stateElem.html(_gcui_selectElem + '<option data-other="true" value="other">' + _gcui_otherText + '</option>'); 257 } 258 }); 259 } 260 261}); 262 263 264 265function safeNav(stringOfDotSeparatedParameters) { 266 var returnObject = window, parameters = stringOfDotSeparatedParameters.split('.'), i, parameter; 267 for (i = 0; i < parameters.length; i++) { 268 parameter = parameters[i]; 269 returnObject = returnObject[parameter]; 270 if (returnObject === undefined || returnObject === null) return returnObject; 271 } 272 return returnObject; 273}; 274 275 276function safeNav2(obj, stringOfDotSeparatedParameters) { 277 var returnObject = obj, parameters = stringOfDotSeparatedParameters.split('.'), i, parameter; 278 for (i = 0; i < parameters.length; i++) { 279 parameter = parameters[i]; 280 returnObject = returnObject[parameter]; 281 if (returnObject === undefined || returnObject === null) return returnObject; 282 } 283 return returnObject; 284}; 285 286 287 288 289function useTheNearestOrg(nearstOrg) { 290 if (nearstOrg) { 291 $('select[name="orgId"]').val(nearstOrg.Id); 292 $('input[name="missionId"]').val(nearstOrg.Id); 293 $('input[name="orgId"]').val(nearstOrg.Id); 294 } else { 295 if (window.globalNearestCenterFromDomain) { 296 $('select[name="orgId"]').val(globalNearestCenterFromDomain); 297 $('input[name="missionId"]').val(globalNearestCenterFromDomain); 298 } else { 299 window.console && console.error && console.error('unable to determine center ID'); 300 } 301 } 302} 303 304var geoLocateScript; 305function getLocation() { 306 geoLocateScript = document.createElement('script'); 307 geoLocateScript.type = 'text/javascript'; 308 geoLocateScript.src = 'https://' + globaldata_domain3 + '/geolocate.action' + 309 '?campaign=narconon&results=5&callback=center_selected'; 310 document.getElementsByTagName('head')[0].appendChild(geoLocateScript); 311} 312 313function center_selected(data) { 314 315 var nearstOrg; 316 317 318 if ($('body').hasClass('locale-es') && !($('body').hasClass('narconon-center-site'))) { 319 320 321 var located_already = safeNav('globalGeolocationData.estimated_location'); 322 if (located_already && located_already.latitude) { 323 324 gcui_log('already had geolocation data'); 325 nearstOrg = global_geolocation_done_espanol({lat: located_already.latitude, lng: located_already.longitude}); 326 if (nearstOrg) nearstOrg = nearstOrg.narconon; 327 useTheNearestOrg(nearstOrg); 328 329 } else { 330 331 332 $(document).bind('gcui_org_preference_set', function(e, data) { 333 334 var located_already = safeNav2(data, 'result.estimated_location'); 335 if (located_already && located_already.latitude) { 336 337 gcui_log('already had geolocation data'); 338 nearstOrg = global_geolocation_done_espanol({lat: located_already.latitude, lng: located_already.longitude}); 339 if (nearstOrg) nearstOrg = nearstOrg.narconon; 340 useTheNearestOrg(nearstOrg); 341 342 } 343 344 }); 345 346 } 347 348 } else { 349 350 351 352 gcui_log('geolocated data received:'); 353 gcui_log(data); 354 355 globalNNGeodata = data; 356 if (window.map) { 357 map.setCenter({lat: globalNNGeodata.Location.Location.Latitude, lng: globalNNGeodata.Location.Location.Longitude}); 358 map.setZoom(8); 359 } 360 361 362 for (var i in globalNNGeodata.NearestOrgs) { 363 var center = globalNNGeodata.NearestOrgs[i].Org; 364 if (!nearstOrg && center.Type != 'drug_education_center' && center.Id != "narconon-ojai") { 365 nearstOrg = center; 366 } 367 } 368 369 if (nearstOrg || window.globalNearestCenterFromDomain) { 370 $('select[name="orgId"]').val(window.globalNearestCenterFromDomain ? globalNearestCenterFromDomain : nearstOrg.Id); 371 $('input[name="missionId"]').val(nearstOrg.Id); 372 } 373 374 } 375 376 377 document.getElementsByTagName('head')[0].removeChild(geoLocateScript); 378 geoLocateScript = null; 379 380} 381 382if(document.querySelector('input[name="address_data_from_geolocation"]')) { 383 getLocation(); 384} 385 386 387var form_location_data = form_location_data || {}; 388 389function _idmgr_org_pref_set_callback() { 390 391 gcui_log('IDMGR: location detection callback called'); 392 393 var org_data = {result: globalGeolocationData}; 394 395 if (globalGeolocationData == null || org_data.result.estimated_location == null) { 396 397 gcui_log('ERROR: IDMGR: no geolocation data available'); 398 return; 399 } 400 401 402 form_location_data['latitude'] = org_data.result.estimated_location.latitude; 403 form_location_data['longitude'] = org_data.result.estimated_location.longitude; 404 405 form_location_data['address_data_from_geolocation'] = { 406 area_code: org_data.result.estimated_location.area_code, 407 city: org_data.result.estimated_location.city, 408 country_code: org_data.result.estimated_location.country_code, 409 postal_code: org_data.result.estimated_location.postal_code, 410 region_code: org_data.result.estimated_location.region_code 411 }; 412 413 $('.edit-submitted-gcui-submit-data-hidden').val(JSON.stringify(form_location_data)); 414 415} 416 417 418 419//</script>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.