Find a Branch | Financial Services | Brokerage Firm (2024)

'; break; case 'subscribe': contentTitle = 'Subscribe'; contentWidth = 'width: 320px;'; contentString = '

'; break; default: contentTitle = 'Email to a Friend'; contentString = '

'; } var finalStringStart = '

' + contentTitle + '

'; var finalStringEnd = '

Close

'; $(this).after(finalStringStart + contentString + finalStringEnd); if ($('.overlayProx').height() > availTopSpace) { verticalString = 'top: 42px;'; arrowString += 'top: -52px;'; arrowDirection = 'Up'; } else { verticalString = 'top:-' + ($('.overlayProx').height() + 13) + 'px;'; arrowString += 'bottom:-17px;'; arrowDirection = 'Down'; } var arrowHString = 'left: ' + ($triggerObj.offset().left - $('.overlayProx').offset().left - 31 + $triggerObj.width() / 2 - 11) + 'px; '; $('.overlayArrow').attr('style', arrowString + arrowHString).addClass('overlayArrow' + arrowDirection); $('.overlayProx').attr('style', $('.overlayProx').attr('style') + ';' + verticalString + "right:-10px;").focus(); $('.overlayClose, .cs_gr_btn').on("click", function () { $('.overlayProx').prev().focus(); $triggerObj.attr('aria-expanded', 'false'); $('.overlayProx').remove(); }); if ($.browser.mozilla) { $('.overlayClose, .cs_gr_btn').keypress(checkForEnter); } else { $('.overlayClose, .cs_gr_btn').keydown(checkForEnter); } $('.newWindowOverlay').click(function () { window.open($(this).attr('href')); $('.overlayProx').remove(); $triggerObj.attr('aria-expanded', 'false'); return false; }); setupClickTracking('.overlayProx [data-tracking]'); $('.share-icon-cntr p').click(function () { var $currObj = $(this); var currIndex = $('.share-icon-cntr p').index($currObj); var parent4 = $currObj.parent().parent().parent().parent(); var parent5 = parent4.parent().parent().parent(); if ($(parent4).hasClass('subscribeCntr')) { var targetIndex = $('.share-icon-cntr p').length - 1 - currIndex; $($('.subscribeCntr > [data-tracking]')[targetIndex]).click(); } else { var targetIndex = currIndex; if ($(parent5).hasClass('shareFooterCntr')) { $($('.shareFooterCntr .iconShare')[targetIndex]).click(); } else { $($('.pageUtilities .iconShare')[targetIndex + 1]).click(); } } }); event.stopPropagation(); $('.overlayProx').on("click", function (e1) { e1.stopPropagation(); }); $('.overlayClose').on(($.browser.mozilla ? 'keypress' : 'keydown'), function (e) { if (e.keyCode == 9) { if (!e.shiftKey) { $('.overlayProx').prev().focus(); $triggerObj.attr('aria-expanded', 'false'); $('.overlayProx').remove(); } } }); $('#Send').on('click', function () { if (checkInput(document.getElementById('EmailForm'))) { var dataString = 'sender_name=' + $('#sender_name').val() + '&sender_email=' + $('#sender_email').val() + '&recipients=' + $('#recipients').val() + '&article_url=' + window.location.href + '&sharevalidationtoken=' + encodeURIComponent($('#sharevalidationtoken').val()); $.ajax({ type: "POST", url: "/secure/asset?cmsid=CC-EMAILFRIEND-CONFIRM", data: dataString, success: function (data) { var successMsg; if (data.indexOf('Your e-mail message has been sent.') != -1) { successMsg = "

Thank you.

Your email message has been sent.

"; } else { successMsg = "

Thank you.

EC.

"; } $('#EmailForm').html(successMsg); } }); scatShareLinkTrack('o', 'emailShare'); return false; } }); $("#EmailForm .cs_gr_btn").on('click', function () { $("#EmailForm span.cs_error").html(""); $("#EmailForm input").removeClass("cs_error"); $("#EmailForm input").attr('value', ''); }); }); if ($.browser.mozilla) { $('.overlayShareTrigger').keypress(checkForEnter); } else { $('.overlayShareTrigger').keydown(checkForEnter); } var qs = (function (a) { if (a == "") return {}; var b = {}; for (var i = 0; i < a.length; ++i) { var p = a[i].split('='); if (p.length != 2) continue; b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " ")); } return b; })(window.location.search.substr(1).split('&')); $('#article_url').val(qs["csUrl"]); function checkInput(f) { debugger; var recAddress = f.recipients.value.split(","); var senderAddress = f.sender_email.value; var sender = f.sender_name.value; var error = false; var i = recAddress.length; $("#standproxoverlay span.cs_error").html(""); $("#standproxoverlay form input").removeClass("cs_error"); if (i > 3) { i = 3; $("#cs_error_recipients").html("This page can be sent to a maximum of three recipients."); $("#recipients").addClass("cs_error"); f.recipients.value = recAddress; error = true; } if (f.recipients.value === "") { $("#cs_error_recipients").html("Please enter the recipient's email address."); $("#recipients").addClass("cs_error"); error = true; } else if (i > 0) { for (var j = 0; j < i; j++) { if ((recAddress[j].indexOf("@") === -1) || (recAddress[j].indexOf(".") === -1)) { $("#cs_error_recipients").html("Please use the following format for each recipient's email address: name@example.com"); $("#recipients").addClass("cs_error"); error = true; } } } if (sender === "") { $("#cs_error_name").html("Please enter your name."); $("#sender_name").addClass("cs_error"); error = true; } if (senderAddress === "") { $("#cs_error_email").html("Please enter your email address."); $("#sender_email").addClass("cs_error"); error = true; } else if ((senderAddress.indexOf("@") === -1) || (senderAddress.indexOf(".") === -1)) { $("#cs_error_email").html("Please enter your email address using the following format: name@example.com"); $("#sender_email").addClass("cs_error"); error = true; } if (f.article_url.value === "") { f.article_url.value = parent.window.location.href; } if (error === true) { return false; } else { return true; } } function checkInput(f) { debugger; var recAddress = f.recipients.value.split(","); var senderAddress = f.sender_email.value; var sender = f.sender_name.value; var error = false; var i = recAddress.length; var regex = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; var regexSchwab = /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@schwab(?:\.com)*$/; var errorDetails = ""; $("#EmailForm span.cs_error").html(""); $("#EmailForm input").removeClass("cs_error"); $("#cs_complete_error").html(""); $("#cs_complete_error").removeAttr("aria-label"); if (sender === "") { var senderErrorMessage = "Please enter your name."; $("#cs_error_name").html(senderErrorMessage); $("#sender_name").addClass("cs_error"); errorDetails += senderErrorMessage; error = true; } if (senderAddress === "") { var senderAddressErrorMessage = "Please enter your email address."; $("#cs_error_email").html(senderAddressErrorMessage); $("#sender_email").addClass("cs_error"); errorDetails += senderAddressErrorMessage; error = true; } else if (!regex.test(senderAddress) || regexSchwab.test(senderAddress)) { var senderAddressInValidErrorMessage = "Please enter your email address using the following format: name@example.com other than: @schwab.com"; $("#cs_error_email").html(senderAddressInValidErrorMessage); $("#sender_email").addClass("cs_error"); errorDetails += senderAddressInValidErrorMessage; error = true; } if (i > 3) { i = 3; var recipientsInvalidCountErrorMessage = "This page can be sent to a maximum of three recipients." $("#cs_error_recipients").html(recipientsInvalidCountErrorMessage); $("#recipients").addClass("cs_error"); errorDetails += recipientsInvalidCountErrorMessage; f.recipients.value = recAddress; error = true; } if (f.recipients.value === "") { var recipientsInvalidErrorMessage = "Please enter the recipient's email address." $("#cs_error_recipients").html(recipientsInvalidErrorMessage); $("#recipients").addClass("cs_error"); errorDetails += recipientsInvalidErrorMessage; error = true; } else if (i > 0) { for (var j = 0; j < i; j++) { if (!regex.test(recAddress[j].trim()) || regexSchwab.test(recAddress[j].trim())) { var recipientsInvalidEmailErrorMessage = "Please use the following format for each recipient's email address: name@example.com other than: @schwab.com" $("#cs_error_recipients").html(recipientsInvalidEmailErrorMessage); $("#recipients").addClass("cs_error"); errorDetails += recipientsInvalidEmailErrorMessage; error = true; } } } if (f.article_url.value === "") { f.article_url.value = parent.window.location.href; } if (error === true) { $("#cs_complete_error").attr("aria-label", errorDetails); $("#cs_complete_error").focus(); return false; } else { return true; } } if (qs["csUrl"]) { document.domain = 'schwab.com'; }; if (qs["shc"]) { var hideClose = qs["shc"].toLowerCase(); if (hideClose === "n") { $('.cs_gr_btn').hide(); } } } /* check for console and write if there. for older browsers */ function logConsole(strWrite) { if (window.console) { console.log(strWrite) } } function setupShareOverlay() { /* Setting the Social Media Links Dynamically */ function parseUri(str) { var o = parseUri.options, m = o.parser[o.strictMode ? "strict" : "loose"].exec(str), uri = {}, i = 14; while (i--) { uri[o.key[i]] = m[i] || ""; } uri[o.q.name] = {}; uri[o.key[12]].replace(o.q.parser, function ($0, $1, $2) { if ($1) { uri[o.q.name][$1] = $2; } }); return uri; } parseUri.options = { strictMode: false, key: ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"], q: { name: "queryKey", parser: /(?:^|&)([^&=]*)=?([^&]*)/g }, parser: { strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ } } function adjustURL(sm) { var omitList = ["SM", "cmsid", "lvl1", "lvl2", "goback"]; var parsed = parseUri(document.URL); var rurl = parsed.protocol; rurl += "://"; rurl += parsed.host; if (parsed.port) { rurl += ":"; rurl += parsed.port; } rurl += parsed.path; if (parsed.queryKey) { rurl += "?"; for (p in parsed.queryKey) { var ok = true; for (var i = 0; i < omitList.length; i++) { if (omitList[i] == p) { ok = false; break; } } if (ok) { rurl += p + "=" + parsed.queryKey[p] + "&"; } } } var last = rurl.charAt(rurl.length - 1); if (last != "&" && last != "?") rurl += "?"; rurl += "SM=" + sm; if (sm == 'facebookInvestingInsight') { return rurl } else { return escape(rurl); } } function adjustFacebookURL() { $(document).ready(function () { var shareImage, shareImageURL; if (document.getElementById('shareImage')) { shareImage = document.getElementById('shareImage').src; shareImageURL = shareImage.replace(new RegExp("&", "g"), "%26"); } var url = "http://www.facebook.com/sharer.php" + "?u=" + adjustURL("Facebook"); /* if shareImage exists, we are using new model for specified parameters */ if (location.href.toLowerCase().indexOf("/public/schwab/resource_center/investing_ideas") != -1) { var fbTitle = ''; var fbDescription = ''; var fbURL = adjustURL("facebookInvestingInsight"); url = 'http://www.facebook.com/sharer.php?s=100&p[title]=' + encodeURIComponent(fbTitle) + '&p[summary]=' + encodeURIComponent(fbDescription) + '&p[url]=' + fbURL; if (shareImage) { url += '&p[images][0]=' + (shareImageURL) }; } $(".iconFacebook").attr("href", url); $(".iconFacebook").attr("id", "&lid=global_share_facebook"); $(".iconFacebook").attr("name", "&lid=global_share_facebook"); }); } function adjustLinkedInURL() { var url = "http://www.linkedin.com/shareArticle" + "?mini=true&url=" + adjustURL("LinkedIn") + "&title=" + escape(document.title) + "&summary=" + "&source=Charles+Schwab"; $(".iconLinkedin").attr("href", url); $(".iconLinkedin").attr("id", "&lid=global_share_linkedin"); $(".iconLinkedin").attr("name", "&lid=global_share_linkedin"); } function adjustTwitterURL() { title = escape("Share: "); var url = "http://twitter.com/home" + "?status=" + title + adjustURL("Twitter"); $(".iconTwitter").attr("href", url); $(".iconTwitter").attr("id", "&lid=global_share_twitter"); $(".iconTwitter").attr("name", "&lid=global_share_twitter"); } function adjustGooglePlusURL() { var url = "https://plus.google.com/share" + "?url=" + adjustURL("GooglePlus"); $(".iconGooglePlus").attr("href", url); $(".iconGooglePlus").attr("id", "&lid=global_share_google+"); $(".iconGooglePlus").attr("name", "&lid=global_share_google+"); } adjustFacebookURL(); adjustLinkedInURL(); adjustTwitterURL(); adjustGooglePlusURL(); $(".email").attr("id", "&lid=global_share_email"); $(".email").attr("name", "&lid=global_share_email"); } function setupButton() { $('.btn').each(function () { $(this).append(''); }); } function setupNewWindow() { $('.newWindow').on("click", function () { window.open($(this).attr('href')); return false; }); }

  • Print

The path to your financial goals begins at your Schwab branch.

Find a Branch Find a Consultant

Attend one of our complimentary workshops. Findworkshops

List View

Map View

Branches near you

Need another kind of assistance?

For support 24/7, please call 800-435-4000.

We think you are trying to enter an international address.

This branch locator works only for locations inside the U.S. For information on Schwab services in other countries or regions, please see the list below. If you are searching for a U.S. location, please enter a valid zip code OR city and state.

Get the assistance you need—wherever you are.

Securities, products, and services are not available in all countries and are subject to country-specific restrictions.

For support 24/7, please call 800-435-4000.

Charles Schwab & Co., Inc. and Charles Schwab Bank are separate but affiliated companies and wholly owned subsidiaries of The Charles Schwab Corporation.

As an expert in web development or programming, I can confidently discuss the provided code snippet. The code appears to be a mix of JavaScript and HTML, likely part of a web page or web application. It includes the use of jQuery for DOM manipulation and AJAX requests.

Here's an overview of the concepts used in the code:

  1. HTML Structure:

    • The code involves the creation of various HTML elements, likely for an overlay or modal on a webpage.
    • It seems to handle different actions such as subscribing, sharing via email, and other social media platforms.
  2. JavaScript and jQuery:

    • The script relies heavily on jQuery, a JavaScript library, to manipulate the Document Object Model (DOM).
    • Event listeners are set up to respond to various user interactions like clicks and key presses.
  3. AJAX (Asynchronous JavaScript and XML):

    • AJAX is used for sending and receiving data asynchronously from the server without reloading the entire page.
    • There's an AJAX call to a server endpoint (/secure/asset?cmsid=CC-EMAILFRIEND-CONFIRM) for sending email-related data.
  4. Form Handling:

    • The code includes functions for handling form submissions, particularly an email form.
    • There are checks for input validation, ensuring that the required fields are filled out correctly.
  5. URL Parsing:

    • The script parses the URL to extract query parameters, which are then used in constructing URLs for social media sharing.
  6. Dynamic Styling:

    • Styles are dynamically applied to create an overlay, and arrow position is adjusted based on available space.
    • The script also dynamically adjusts the position of social media icons.
  7. Social Media Sharing:

    • Functions are dedicated to setting up social media sharing links, such as Facebook, LinkedIn, Twitter, and Google Plus.
    • These functions adjust the URLs and attributes of corresponding HTML elements.
  8. Error Handling:

    • The code includes error handling for form inputs, ensuring that users provide valid information.
  9. Event Handling:

    • Event propagation and handling are managed to control the behavior of different UI elements.
  10. Compatibility:

    • The script seems to account for browser compatibility, with specific checks for Mozilla.

It's essential to note that the code is a snippet, and its functionality depends on the context of the entire application. Without the complete context, certain details may not be entirely clear. If you have specific questions or if there's a particular aspect you'd like more information about, feel free to ask.

Find a Branch | Financial Services | Brokerage Firm (2024)
Top Articles
Latest Posts
Article information

Author: The Hon. Margery Christiansen

Last Updated:

Views: 6042

Rating: 5 / 5 (50 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: The Hon. Margery Christiansen

Birthday: 2000-07-07

Address: 5050 Breitenberg Knoll, New Robert, MI 45409

Phone: +2556892639372

Job: Investor Mining Engineer

Hobby: Sketching, Cosplaying, Glassblowing, Genealogy, Crocheting, Archery, Skateboarding

Introduction: My name is The Hon. Margery Christiansen, I am a bright, adorable, precious, inexpensive, gorgeous, comfortable, happy person who loves writing and wants to share my knowledge and understanding with you.