Join Gun Dog Supply's GARMIN INSIDERS
#mc_embed_signup{background:#fff; false;clear:left; font:14px Helvetica,Arial,sans-serif;}
#mc-embedded-subscribe { background-color: #ff0000 !important; }
/* Add your own Mailchimp form style overrides in your site stylesheet or in this style block.
We recommend moving this block and the preceding CSS link to the HEAD of your HTML file. */
* indicates required
Email Address * First Name Last Name
(function($) {window.fnames = new Array(); window.ftypes = new Array();fnames[0]='EMAIL';ftypes[0]='email';fnames[1]='FNAME';ftypes[1]='text';fnames[2]='LNAME';ftypes[2]='text';fnames[3]='ADDRESS';ftypes[3]='address';fnames[4]='PHONE';ftypes[4]='phone';}(jQuery));var $mcj = jQuery.noConflict(true);
// SMS Phone Multi-Country Functionality
if(!window.MC) {
window.MC = {};
}
window.MC.smsPhoneData = {
defaultCountryCode: 'US',
programs: [],
smsProgramDataCountryNames: []
};
function getCountryUnicodeFlag(countryCode) {
return countryCode.toUpperCase().replace(/./g, (char) => String.fromCodePoint(char.charCodeAt(0) + 127397))
};
// HTML sanitization function to prevent XSS
function sanitizeHtml(str) {
if (typeof str !== 'string') return '';
return str
.replace(/&/g, '&')
.replace(/ /g, '>')
.replace(/"/g, '"')
.replace(/'/g, ''')
.replace(/\//g, '/');
}
// URL sanitization function to prevent javascript: and data: URLs
function sanitizeUrl(url) {
if (typeof url !== 'string') return '';
const trimmedUrl = url.trim().toLowerCase();
if (trimmedUrl.startsWith('javascript:') || trimmedUrl.startsWith('data:') || trimmedUrl.startsWith('vbscript:')) {
return '#';
}
return url;
}
const getBrowserLanguage = () => {
if (!window?.navigator?.language?.split('-')[1]) {
return window?.navigator?.language?.toUpperCase();
}
return window?.navigator?.language?.split('-')[1];
};
function getDefaultCountryProgram(defaultCountryCode, smsProgramData) {
if (!smsProgramData || smsProgramData.length === 0) {
return null;
}
const browserLanguage = getBrowserLanguage();
if (browserLanguage) {
const foundProgram = smsProgramData.find(
(program) => program?.countryCode === browserLanguage,
);
if (foundProgram) {
return foundProgram;
}
}
if (defaultCountryCode) {
const foundProgram = smsProgramData.find(
(program) => program?.countryCode === defaultCountryCode,
);
if (foundProgram) {
return foundProgram;
}
}
return smsProgramData[0];
}
function updateSmsLegalText(countryCode, fieldName) {
if (!countryCode || !fieldName) {
return;
}
const programs = window?.MC?.smsPhoneData?.programs;
if (!programs || !Array.isArray(programs)) {
return;
}
const program = programs.find(program => program?.countryCode === countryCode);
if (!program || !program.requiredTemplate) {
return;
}
const legalTextElement = document.querySelector('#legal-text-' + fieldName);
if (!legalTextElement) {
return;
}
// Remove HTML tags and clean up the text
const divRegex = new RegExp(' ]*>', 'gi');
const fullAnchorRegex = new RegExp(' ', 'g');
const anchorRegex = new RegExp(' (.*?) ');
const template = program.requiredTemplate.replace(divRegex, '');
legalTextElement.textContent = '';
const parts = template.split(/( .*? )/g);
parts.forEach(function(part) {
if (!part) {
return;
}
const anchorMatch = part.match(/ (.*?) /);
if (anchorMatch) {
const linkElement = document.createElement('a');
linkElement.href = sanitizeUrl(anchorMatch[1]);
linkElement.target = sanitizeHtml(anchorMatch[2]);
linkElement.textContent = sanitizeHtml(anchorMatch[3]);
legalTextElement.appendChild(linkElement);
} else {
legalTextElement.appendChild(document.createTextNode(part));
}
});
}
function generateDropdownOptions(smsProgramData) {
if (!smsProgramData || smsProgramData.length === 0) {
return '';
}
return smsProgramData.map(program => {
const flag = getCountryUnicodeFlag(program.countryCode);
const countryName = getCountryName(program.countryCode);
const callingCode = program.countryCallingCode || '';
// Sanitize all values to prevent XSS
const sanitizedCountryCode = sanitizeHtml(program.countryCode || '');
const sanitizedCountryName = sanitizeHtml(countryName || '');
const sanitizedCallingCode = sanitizeHtml(callingCode || '');
return ' ' + sanitizedCountryName + ' ' + sanitizedCallingCode + ' ';
}).join('');
}
function getCountryName(countryCode) {
if (window.MC?.smsPhoneData?.smsProgramDataCountryNames && Array.isArray(window.MC.smsPhoneData.smsProgramDataCountryNames)) {
for (let i = 0; i
We value your business and your privacy. That is why protecting your personal information is so important to us.
Like you, we hate spam! Gun Dog Supply does NOT sell or rent our customers names, addresses or email addresses to anyone. We do, however, send email notifications on products, special promotions, etc. from time to time.
If you ever get email or newsletters from us and you DO NOT want to continue receiving these messages, simply click the "unsubscribe" link in the email you received and we will remove your name from our email lists.
-- Steve
NEXT: Join Gun Dog Supply's GARMIN INSIDERS
PREVIOUS: Join Gun Dog Supply's GARMIN INSIDERS
link to original idQuestions? Since 1972, we're here to help. Call 1-800-624-6378 or 662-324-2410 and we'll answer any questions or take a phone order. Prefer email? Contact sales@gundogsupply.com. -- Steve Snell