
	
	<!DOCTYPE html>
	<html lang="en-US">
		<head>
			<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
			<meta http-equiv="X-UA-Compatible" content="IE=edge">
			
				<meta name="viewport" content="width=device-width, initial-scale=1.0">
			
			<meta name="pinterest" content="nopin" />
			<meta name="pinterest" content="nohover" />
			
			<meta name="3778517eb4810dfb5d143ed8f1b359b3b5a82923" content="0f56257c3db4a222e91b11bc6871c4df2e263b28" />
			<link rel="apple-touch-icon" sizes="57x57" href="/orgimg/org.1/favicons/apple-icon-57x57.png?v=1411358049715440694">
			<link rel="apple-touch-icon" sizes="60x60" href="/orgimg/org.1/favicons/apple-icon-60x60.png?v=1411358049715440694">
			<link rel="apple-touch-icon" sizes="72x72" href="/orgimg/org.1/favicons/apple-icon-72x72.png?v=1411358049715440694">
			<link rel="apple-touch-icon" sizes="76x76" href="/orgimg/org.1/favicons/apple-icon-76x76.png?v=1411358049715440694">
			<link rel="apple-touch-icon" sizes="114x114" href="/orgimg/org.1/favicons/apple-icon-114x114.png?v=1411358049715440694">
			<link rel="apple-touch-icon" sizes="120x120" href="/orgimg/org.1/favicons/apple-icon-120x120.png?v=1411358049715440694">
			<link rel="apple-touch-icon" sizes="144x144" href="/orgimg/org.1/favicons/apple-icon-144x144.png?v=1411358049715440694">
			<link rel="apple-touch-icon" sizes="152x152" href="/orgimg/org.1/favicons/apple-icon-152x152.png?v=1411358049715440694">
			<link rel="apple-touch-icon" sizes="180x180" href="/orgimg/org.1/favicons/apple-icon-180x180.png?v=1411358049715440694">
			<link rel="icon" type="image/png" sizes="192x192"  href="/orgimg/org.1/favicons/android-icon-192x192.png?v=1411358049715440694">
			<link rel="icon" type="image/png" sizes="32x32" href="/orgimg/org.1/favicons/favicon-32x32.png?v=1411358049715440694">
			<link rel="icon" type="image/png" sizes="96x96" href="/orgimg/org.1/favicons/favicon-96x96.png?v=1411358049715440694">
			<link rel="icon" type="image/png" sizes="16x16" href="/orgimg/org.1/favicons/favicon-16x16.png?v=1411358049715440694">
			<link rel="manifest" href="/orgimg/org.1/favicons/manifest.json?v=1411358049715440694">
			<meta name="msapplication-TileColor" content="#ffffff">
			<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
			
			
			

<script>
/* stubs */
	const hapticsImpactHeavy = async () => {
	};
	const hapticsImpactMedium = async () => {
	};
	const hapticsImpactLight = async () => {
	};
	const hapticsVibrate = async () => {
	};
	const hapticsSelectionStart = async () => {
	};
	const hapticsSelectionChanged = async () => {
	};
	const hapticsSelectionEnd = async () => {
	};
</script>

			
<script>
	
		function setPullToRefresh() {}
	
	function gotoURL(inurl) {
		window.location.href = inurl;
		return;
	}
	function contentLoaded(isHTMX, f, caller = "") {
		console.log("contentLoaded: " + isHTMX + " " + caller);
		if (isHTMX == true) {
			document.body.addEventListener('htmx:afterSettle', f, {once: true});
		} else {
			if (document.readyState !== 'loading') {
				console.log('document is already ready, just execute code here');
				f();
			} else {
				console.log('document was not ready, place code here');
				document.addEventListener('DOMContentLoaded', f, {once: true});
			}
		}
	}

	function HideAppSidebarOnKeyboard() {
		console.log("In HideAppSidebarOnKeyboard");
		
	}
	// stub
	function logError(data, url, linenumber) {
		console.log(data)
		return;
	}
	var pushSubToken;
	var ignoreErrors = false;
	var lastError = "";
	
		window.onerror = function(errorMessage, errorUrl, errorLine, errorColumn, errorObj) {
			let column;
			let stack;
			if (console && console.log) {
				console.log("msg:", errorMessage);
				console.log("url:", errorUrl);
				console.log("line:", errorLine);
				if (errorColumn !== undefined && errorObj != null) {
					console.log("column:", errorColumn);
					column = errorColumn;
				}
				if (errorObj !== undefined && errorObj != null) {
					console.log("stack:", errorObj.stack);
					stack = errorObj.stack;
				}
				console.log("client_id:", "web.web08.150626.1759942824701942968");
				console.log("last_error:", lastError);
				console.log("stack:", stack);
			}
			if (errorUrl == "" || errorUrl === null) {
				errorUrl = window.location.href;
			}
			if (errorMessage.includes("SecurityError:") == true) {
				ignoreErrors = true;
			}
			if (ignoreErrors == true) {
				console.log("cookies, disabled, ignoring");
				lastError = errorMessage;
				return;
			}
			jQuery.ajax({
				type: 'POST',
				url: '/jsclienterror',
				data: {
					msg: errorMessage,
					url: errorUrl,
					line: errorLine,
					column: column,
					stack: stack,
					last_error: lastError,
					client_id: "web.web08.150626.1759942824701942968"
				},
				success: function() {
					if (console && console.log) {
						console.log('JS error report successful.');
					}
					lastError = errorMessage;
				},
				error: function() {
					if (console && console.error) {
						console.error('JS error report submission failed!');
					}
					lastError = errorMessage;
				}
			});
			return true;
		}
	
</script>
			
			
			<script src="/tinymce-5.10.9/tinymce.min.js"></script>
			<script src="/js/browser-image-compression-2.0.2.min.js"></script>
			<link href="/css/application-5140eb730d1460f0687bd7ebb73875cf.css" rel="stylesheet" id="groupsio-css">
			<script src="/js/application-7800e976860b357df405a3ea22aa72b1.js" id="groupsio-js"></script>
			<script src="/js/run_prettify.js"></script>
			<title>announce@scc-ares-races.groups.io | Home</title>
			

			
				



<link rel="stylesheet" type="text/css" href="/css/cookieconsent-3.1.0.min.css" />
<script src="/js/cookieconsent-3.1.0.min.js"></script>
<script>
  window.addEventListener("load", function(){
  window.cookieconsent.initialise({
    "palette": {
      "popup": {
        "background": "#d9edf7",
        "text": "#31708f"
      },
      "button": {
        "background": "#56cbdb",
        "text": "#ffffff"
      }
    },
    "cookie": {
        "domain": ".{{.Org.Domain}}"
    },
    "content": {
      "message": "Our site uses cookies so that we can remember you and understand how you and other visitors use our site, to improve your browsing experience and help us improve our site. By continuing to use our website, you agree to our use of such cookies.",
      "dismiss": "I Agree",
      "href": "https://groups.io/static/cookie_policy"
    }
  })});
</script>


			
			
	<link rel="alternate" type="application/rss+xml" 
title="RSS Feed for announce"
  href="https://scc-ares-races.groups.io/g/announce/rss" />
	<meta property="og:url"           content="https://scc-ares-races.groups.io/g/announce" />
	<meta property="og:type"          content="website" />
	<meta property="og:title"         content="announce groups.io Group" />
	<meta property="og:description"   content="*Santa Clara County ARES/RACES/ACS Main Group*  This is the main group for SCCo ARES/RACES/ACS.  The main group is only used for announcements that are relevant to all SCCo ARES/RACES/ACS members. The actual group discussions take place in various sub-groups listed in the subgroups menu.  Membership in this main group is required in order to join the subgroups.  This group is specific to ARES/RACES/ACS members in Santa Clara County, CA and is NOT a general discussion group for ARES, RACES, ACS or any of the subgroup topics.  We limit the number of messages from the announce group; you will not be spammed with other messages.  The announce list is limited to announcements about training, activities, documentation and procedures related to Emergency Communications that may be of interest to our members.  Typically this is 1-2 messages a month.  *To Join This Group:*  * Log into Groups.io and set the &quot;Display Name&quot; in your profile to include your full name and your call sign.  This helps others in the discussion group know who you are. * Click on the &quot;Apply for Membership In This Group&quot; button below. * If you are not currently logged into Groups.io, you will receive an e-mail asking you to confirm your e-mail address.  Reply to that e-mail as soon as possible. * You will receive an e-mail requesting specific information that helps us verify who you are and prevent SPAM.  Reply to that e-mail as soon as possible. * Once approved, you will be able to join the subgroups that interest you.  *Important:* If you don&#39;t receive the message(s) described above fairly quickly (typically within a few minutes) then check your SPAM folder and/or SPAM settings.  If we don&#39;t receive a reply to the  message(s), we won&#39;t be able to add you to the group.  *Other Groups:* Once you have been added to our announce group, you can join additional groups. See: https://www.scc-ares-races.org/discuss-groups.html" />
	<meta property="og:image"         content="https://groups.io/orgimg/org.1/logofull.png?v=1411358049715440694" />

<script>
	htmx.config.scrollBehavior = "instant";
	htmx.config.historyCacheSize = 0;
	htmx.config.defaultSettleDelay = 0;
	console.log("FULL PAGE LOAD");
</script>
		</head>
		<body id="body" class="" hx-headers='{"Accept-Version": "6455cd725b75993717db58556268bed7d1f4a2ce"}' hx-ext="preload" hx-boost="false">
			
				<script>
					if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
						document.body.classList.add('dark-mode');
					}
				</script>
			

			
				<div class="navbar navbar-head navbar-fixed-top"  role="navigation" id="headerbar">
					<div class="container-fluid" style="padding-left:0px;">
						<a href="https://groups.io" class="navbar-left" hx-boost="false" hx-disinherit="*">
							<img src="https://groups.io/orgimg/org.1/mainlogo.png?v=1411358049715440694" height="50" alt="Groups.io">
						</a>
							
								<ul class="nav navbar-nav hidden-xs">
									<li>
										<a href="https://groups.io/search">
											Find or Create a Group
										</a>
									</li>
									
								</ul>
							
							<ul class="nav navbar-nav pull-right visible-xs" style="margin-top:5px;margin-bottom:5px;">
								<li>
									<a href="#" data-toggle="modal" data-target="#mobileAccount">
										<i class="fa-fw fa fa-bars fa-lg"></i>
									</a>
								</li>
							</ul>

							<ul class="nav navbar-nav pull-right hidden-xs">
								<li class="dropdown">
									<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
										<i class="fa-fw fa-regular fa-globe"></i>
										
											English
										
										<b class="caret"></b>
									</a>
									<ul class="dropdown-menu">
										<li>
											<a href="https://groups.io/setlang/ar">
												العربية
											</a>
										</li>
										<li>
											<a href="https://groups.io/setlang/de">
												Deutsch
											</a>
										</li>
										<li>
											<a href="https://groups.io/unsetlang">
												English
											</a>
										</li>
										<li>
											<a href="https://groups.io/setlang/es">
												Español
											</a>
										</li>
										<li>
											<a href="https://groups.io/setlang/fr">
												Français
											</a>
										</li>
										<li>
											<a href="https://groups.io/setlang/it">
												Italiano
											</a>
										</li>
										<li>
											<a href="https://groups.io/setlang/nl">
												Nederlands
											</a>
										</li>
										<li>
											<a href="https://groups.io/setlang/pt-br">
												Português do Brasil
											</a>
										</li>
										<li>
											<a href="https://groups.io/setlang/pt">
												Português
											</a>
										</li>
										<li>
											<a href="https://groups.io/setlang/uk">
												Українська
											</a>
										</li>
										<li>
											<a href="https://groups.io/setlang/zh-hans">
												简体中文
											</a>
										</li>
									</ul>
								</li>
								<li>
									<a href="https://groups.io/helpcenter" target="_blank">
										Help
									</a>
								</li>
								<li>
									<a id="login" href="https://groups.io/login" hx-boost="false" hx-disinherit="*">
										<i class="fa fa-sign-in-alt"></i>
										Log In
									</a>
								</li>
								
									<li>
										<a href="https://groups.io/register">
											<i class="fa fa-user"></i>
											Sign Up
										</a>
									</li>
								
							</ul>
					</div>
				</div>
				<div class="modal fade" id="mobileAccount" role="dialog">
					<div class="modal-dialog" style="margin-top:50px;">
						<div class="modal-content">
							<div class="modal-body">

									<ul class="list-group noborderlist">

										<li class="noborderitem list-group-item">
											<a href="https://groups.io/login" hx-boost="false" hx-disinherit="*">
												<i class="fa fa-sign-in-alt"></i>
												Log In
											</a>
										</li>
										
											<li class="noborderitem list-group-item">
												<a href="https://groups.io/register">
													<i class="fa fa-user"></i>
													Sign Up
												</a>
											</li>
										
										<li class="noborderitem list-group-item">
											<a href="https://groups.io/helpcenter" target="_blank">
												<i class="fa-fw fa fa-question-circle"></i>
												Help
											</a>
										</li>

										<li class="dropdown noborderitem list-group-item">
											<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
												<i class="fa-fw fa-regular fa-globe"></i>
												
													English
												
												<b class="caret"></b>
											</a>
											<ul class="dropdown-menu">
												<li>
													<a href="https://groups.io/setlang/ar">
														العربية
													</a>
												</li>
												<li>
													<a href="https://groups.io/setlang/de">
														Deutsch
													</a>
												</li>
												<li>
													<a href="https://groups.io/unsetlang">
														English
													</a>
												</li>
												<li>
													<a href="https://groups.io/setlang/es">
														Español
													</a>
												</li>
												<li>
													<a href="https://groups.io/setlang/fr">
														Français
													</a>
												</li>
												<li>
													<a href="https://groups.io/setlang/it">
														Italiano
													</a>
												</li>
												<li>
													<a href="https://groups.io/setlang/nl">
														Nederlands
													</a>
												</li>
												<li>
													<a href="https://groups.io/setlang/pt-br">
														Português do Brasil
													</a>
												</li>
												<li>
													<a href="https://groups.io/setlang/pt">
														Português
													</a>
												</li>
												<li>
													<a href="https://groups.io/setlang/uk">
														Українська
													</a>
												</li>
												<li>
													<a href="https://groups.io/setlang/zh-hans">
														简体中文
													</a>
												</li>
											</ul>
										</li>

									</ul>
							</div>
						</div>
					</div>
				</div>
			
<script>
var groupnavigatorData = [

];
</script>


<!-- Modal Dialog for Autocomplete -->
<div class="modal fade" id="groupnavigatorModal" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-body">
        <input type="text" class="form-control" id="groupnavigatorInput" placeholder="Go to group..." style="margin-bottom:10px">
        <div id="groupnavigatorContainer" class="autocompleteResults" style="max-height:250px; overflow-y: auto;"></div>
		<div class="text-center" style="margin-top:10px; font-size:12px;"><i class="fa-sharp fa-arrow-up-arrow-down"></i> to navigate&nbsp;&nbsp;&nbsp;<i class="fa-sharp fa-arrow-turn-down-left"></i> to use&nbsp;&nbsp;&nbsp;<strong>esc</strong> to dismiss</div>
      </div>
    </div>
  </div>
</div>


<script>
// Keep track of the currently selected index
var selectedIndex = -1;

// Function to highlight the matched substring
function highlightSubstring(str, substring) {
  var index = str.toLowerCase().indexOf(substring.toLowerCase());
  if (index !== -1) {
    var before = str.substring(0, index);
    var middle = str.substring(index, index + substring.length);
    var after = str.substring(index + substring.length);
    return before + '<span class="autocomplete-highlight">' + middle + '</span>' + after;
  }
  return str;
}

// Function to highlight the selected item and ensure it is visible in the scrollable list
function highlightSelectedItem(modalName) {
  var listContainer = document.getElementById(modalName + 'Container');
  var items = document.getElementsByClassName(modalName + '-list-item');
  Array.from(items).forEach(function(item, idx) {
    item.className = idx === selectedIndex ? modalName + '-list-item autocomplete-list-item btn-primary no-hover' : modalName + '-list-item autocomplete-list-item no-hover'; // Apply btn-primary class to the selected item
  });
  if (items.length > 0 && selectedIndex >= 0) {
    var selectedItem = items[selectedIndex];
    var containerTop = listContainer.scrollTop;
    var containerBottom = containerTop + listContainer.clientHeight;
    var itemTop = selectedItem.offsetTop;
    var itemBottom = itemTop + selectedItem.offsetHeight;
	const fudge = 59;
    if (selectedIndex > 0 && itemTop > containerBottom) {
      // If there are items below the selected item and the selected item is not fully visible, scroll down
      listContainer.scrollTop = itemTop - listContainer.clientHeight + items[selectedIndex - 1].offsetHeight;
    } else if (selectedIndex < items.length - 1 && (itemTop - fudge) < containerTop) {
      // If there are items above the selected item and the selected item is not fully visible, scroll up
      listContainer.scrollTop = itemTop - fudge - items[selectedIndex + 1].offsetHeight;
    }
  }
}

// function to populate the list based on the input
function populateList(modalName, data) {
  var input = document.getElementById(modalName+'Input').value;
  var listContainer = document.getElementById(modalName+'Container');
  listContainer.innerHTML = '';
  data.forEach(function(item) {
    if (item.name.toLowerCase().includes(input.toLowerCase())) {
      var div = document.createElement('div');
      div.innerHTML = highlightSubstring(item.name, input);
      div.className = modalName+'-list-item autocomplete-list-item no-hover'; // Apply no-hover class
      div.addEventListener('click', function() {
        // Navigate to the specified URL when a list item is clicked
        window.location.href = item.url;
      });
      div.addEventListener('mousemove', function() {
        // Remove no-hover class from all items when the mouse is moved over any item
		console.log("mouse move");
        var items = document.getElementsByClassName(modalName+'-list-item');
        Array.from(items).forEach(function(item) {
          item.classList.remove('no-hover');
        });
      });
      listContainer.appendChild(div);
    }
  });
  highlightSelectedItem(modalName);
}

function InitAutocomplete(modalName, data) {
	// Focus the input field when the modal is shown and populate the list
	$('#' + modalName + 'Modal').on('shown.bs.modal', function () {
		$('#' + modalName + 'Input').focus().val('');
		populateList(modalName, data);
		selectedIndex = 0;
		highlightSelectedItem(modalName);
	});

	// Event listener for input field typing
	document.getElementById(modalName + 'Input').addEventListener('input', function() {
		populateList(modalName, data);
		selectedIndex = 0;
	});

	// Event listener for arrow keys and enter key
	document.getElementById(modalName + 'Input').addEventListener('keydown', function(event) {
		var items = document.getElementsByClassName(modalName + '-list-item');
		if (event.key === 'ArrowDown') {
			event.preventDefault();
			if (selectedIndex < items.length - 1) selectedIndex++;
			highlightSelectedItem(modalName);
		} else if (event.key === 'ArrowUp') {
			event.preventDefault();
			if (selectedIndex > 0) selectedIndex--;
			highlightSelectedItem(modalName);
		} else if (event.key === 'Enter' && selectedIndex >= 0 && selectedIndex < items.length) {
			event.preventDefault();
			items[selectedIndex].click();
		}
	});
}

function showAutocompleteModal(modalName) {
	$('#' + modalName + 'Modal').modal('show');
	selectedIndex = -1;
}
</script>

			<div id="content" class="container-fluid">
<script>
	InitAutocomplete("groupnavigator", groupnavigatorData);

	document.body.addEventListener("showReloadPageDialog", function(evt) {
		console.log("Forced reload");
		location.reload();
	});

	function ShowBackButton(label) {
		var logoElement = document.getElementById("logo");
		if (logoElement) {
			html = `
				<span style="color:#fff;margin-top:14px;margin-left:12px;float:left !important; height:36px;">
				<a onclick="goBack()" style="color:#fff">
					<i class="fa-fw fa-solid fa-chevron-left fa-lg"></i>
				</a></span>`;
			if (label != "") {
				html += `<div style="position:absolute;left:50%;transform:translateX(-50%);text-align:center;color:#ecf0f1;margin-top:5px;"><h4>` + label + `</h4></div>`;
			}
			logoElement.innerHTML = html;
		}
	}

	function HideBackButton() {
		var logoElement = document.getElementById("logo");
		if (logoElement) {
			logoElement.innerHTML = `
				<a href="https://groups.io" class="navbar-left">
					<img src="https://groups.io/orgimg/org.1/mainlogo.png?v=1411358049715440694" height="50" alt="Groups.io">
				</a>`;
		}
	}

	function goBack() {
		history.back();
	}

	// submitEvent acts like .submit(), except it is compatible with the app, by using events instead.
	function submitEvent(ele) {
		console.log("in submitEvent");
		if (ele.startsWith('#')) {
    		ele = ele.slice(1);
		}
		document.getElementById(ele).submit();
		return;
		/*
		const theEvent = new CustomEvent('submit', {
			bubbles: true,
			cancelable: true
		});
		if (typeof ele === 'string' || ele instanceof String) {
			if (ele.startsWith("#") == true) {
				ele = ele.slice(1);
			}
			if (document.getElementById(ele).dispatchEvent(theEvent) == true) {
				// if not cancelled, do normal submit
				console.log("calling submit");
				document.getElementById(ele).submit();
			}
			return;
		}
		// assume ele is the element
		if (ele.dispatchEvent(theEvent) == true) {
			// if not cancelled, do normal submit
			console.log("calling submit");
			ele.submit();
		}
		*/
	}

	// gioDestroy is a convenience function for destroy callbacks
	function gioDestroy(eventCB) {
		let internalGioDestroy = function(evt) {
			// do not activate on infinite scroll events
			if (evt.detail.target !== undefined && evt.detail.target.id != "maincontent-refresh") {
				console.log("Ignoring infinite scroll event");
				return;
			}
			console.log("Calling destroy callback");
			eventCB(evt);
		}
		document.body.addEventListener("htmx:beforeSwap", internalGioDestroy, {once: true});
		document.body.addEventListener("htmx:historyCacheMiss", internalGioDestroy, {once: true});
	}
			
	var drawerCloseFunc = function(evt) {
		console.log("in drawerCloseFunc");
		// Find all elements with the class 'drawer'
		var drawers = document.querySelectorAll('.drawer');

		// Iterate over each element and call closeDrawer() on each
		drawers.forEach(function(obj) {
			drawerObj.closeDrawer(obj);
		});
		$('.modal').modal('hide');
	}
	document.body.addEventListener('htmx:beforeSwap', drawerCloseFunc);
	document.body.addEventListener('htmx:historyCacheMiss', drawerCloseFunc);

	var keydownFunc = function(event) {
		var tagName = event.target.tagName.toLowerCase();
		if (tagName === 'input' || tagName === 'textarea' || event.target.isContentEditable) {
			if (event.key === 'Escape') {
				event.target.blur();
			}
			return;
		}
		// check if the viewimages viewer is up
		let element = document.getElementById('overlay');
		if (element && element.classList.contains('visible')) {
			return;
		}
		console.log("HERE: " + event.key + " " + event.ctrlKey + " " + event.shiftKey + " " + event.metaKey);
		if (event.ctrlKey && event.shiftKey && (event.key === '?' || event.key === '/')) {
			event.preventDefault(); // Prevent the default action
			// Show the modal dialog for keyboard shortcuts
			$('#shortcutModal').modal('show');
			return;
		}
		$('#shortcutModal').modal('hide');

		if (event.key.toLowerCase() === 'g') {
			// For Windows and Linux
			if (event.ctrlKey) {
				event.preventDefault();
				showAutocompleteModal("groupnavigator");
				return;
			}
		}

		// Check if the pressed key is '/'
		if ((event.key === 'f' || event.key === 'F') && event.shiftKey) {
			if (navigator.platform.toUpperCase().indexOf('MAC') >= 0) {
				if (event.metaKey) {
					event.preventDefault(); // Prevent the default action
					// Focus on the search box
					let box = document.getElementById('searchbox')
					if (box != null) {
						document.getElementById('searchbox').focus();
					}
				}
			} else {
				// For Windows and Linux
				if (event.ctrlKey) {
					event.preventDefault(); // Prevent the default action
					// Focus on the search box
					let box = document.getElementById('searchbox')
					if (box != null) {
						document.getElementById('searchbox').focus();
					}
				}
			}
		}
	}
	document.addEventListener('keydown', keydownFunc);
	var removeDrawerCloseFunc = function(evt) {
		document.body.removeEventListener('htmx:beforeSwap', drawerCloseFunc);
		document.body.removeEventListener('htmx:historyCacheMiss', drawerCloseFunc);
		document.removeEventListener('keydown', keydownFunc);
	}
	document.body.addEventListener("htmx:historyCacheMiss", removeDrawerCloseFunc, {once: true});
</script>
<!-- Modal Dialog for Keyboard Shortcuts -->
<div class="modal fade" id="shortcutModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h4 class="modal-title" id="myModalLabel">Keyboard Shortcuts</h4>
      </div>
      <div class="modal-body">
		<div class="row">
			<div class="col-xs-3 text-right"><strong>ctrl</strong> + <strong>shift</strong> + <strong>?</strong>&nbsp;&nbsp;:</div>
			<div class="col-xs-9" style="margin-left: -23px;">Show all keyboard shortcuts</div>
		</div>
		<div class="row">
			<div class="col-xs-3 text-right"><strong>ctrl</strong> + <strong>g</strong>&nbsp;&nbsp;:</div>
			<div class="col-xs-9" style="margin-left: -23px;">Navigate to a group</div>
		</div>
		<div class="row">
			<div class="col-xs-3 text-right"><strong class="ctrlmeta">ctrl</strong> + <strong>shift</strong> + <strong>f</strong>&nbsp;&nbsp;:</div>
			<div class="col-xs-9" style="margin-left: -23px;">Find</div>
		</div>
		<div class="row">
			<div class="col-xs-3 text-right"><strong class="ctrlmeta">ctrl</strong> + <strong>/</strong>&nbsp;&nbsp;:</div>
			<div class="col-xs-9" style="margin-left: -23px;">Quick actions</div>
		</div>
		</div>
		<div class="text-center" style="margin-top:10px; margin-bottom:10px; font-size:12px;"><strong>esc</strong> to dismiss</div>
    </div>
  </div>
</div>
				
	
	<div id="mainrow" class="row"  hx-boost="true" hx-target="#maincontent-refresh" hx-push-url="true" hx-history="false" hx-on::after-request="document.getElementById('maincontent').scrollTo({top: 0, behavior: 'instant'})" >
		<div id="groupsidebar" class="scrollbar hidden-print">
			<div class="scrollbar-content">
				<div id="accordion" role="tablist" aria-multiselectable="true" style="margin-bottom:20px;">
					<div class="list-group noborderlist" style="border:0;margin-bottom:0px">
						


	<a title="Group Home" href="https://scc-ares-races.groups.io/g/announce" class="list-group-item sidebar-item">
		<i class="fa-fw fa fa-home fa-lg"></i>
		Home
		
	</a>

	

	

	
		
	
	
	
	
	
	

		
	

	

	

	
			

	<a title="Subgroups" href="https://scc-ares-races.groups.io/g/announce/subgroups" id="sidebar-subgroups" class="noborderitem list-group-item sidebar-item sidebar-item-subgroups"> 
		<i class="fa-fw fa fa-chart-pie fa-lg"></i>
		Subgroups
		<span id="sidebar-subgroups-badge" class="badge"></span>
	</a>

	

	

	

	

	

	

	

					</div>
				</div>
				
	<div class="text-center" style="font-size:13px;margin-bottom:30px">
		<div style="padding-bottom:10px;">
			<strong>ctrl</strong> + <strong>shift</strong> + <strong>?</strong> for shortcuts
		</div>
		<div style="padding-bottom:5px;">
			<a href="https://groups.io/static/about">
				About
			</a> &middot;
			<a href="https://groups.io/static/features">
				Features
			</a> &middot;
			<a href="https://groups.io/static/pricing">
				Pricing
			</a>
		</div>
		<div style="padding-bottom:5px;">
			<a href="https://groups.io/home">
				Home
			</a> &middot;
			<a rel="nofollow" href="https://groups.io/changelog">
				Changelog
			</a> &middot;
			<a href="https://groups.io/static/tos">
				Terms
			</a>
		</div>
		<div style="padding-bottom:5px;">
			<a href="https://groups.io/helpcenter" target="_blank">
				Help
			</a>
		</div>
		<div style="padding-bottom:5px;">
			&copy; 2025 Groups.io
		</div>
	</div>

			</div>
		</div>
		<div id="maincontent" class="groupmaincontent">
			<div id="maincontent-refresh">
				<div id="maincontent-column" class="col-xs-12 maincontent-column">
					
<script>
contentLoaded(false, function() {
	function set_body_height()
	{
		var wh = $(window).height();
		$('body').attr('style', 'height:' + wh + 'px;');
	}
    set_body_height();
    $(window).bind('resize', function() { set_body_height(); });
});
</script>
	
	
	

	

	
	<div id="alertdiv"></div>
	<div class="noticetemplate template">
		<div class="alert alert-success alert-dismissible" role="alert">
			<button type="button" class="close" data-dismiss="alert" aria-label="Close">
				<span aria-hidden="true">
					&times;
				</span>
			</button>
			<span class="flashmsg"></span>
		</div>
	</div>
	<div class="alerttemplate template">
		<div class="alert alert-danger alert-dismissible" role="alert">
			<button type="button" class="close" data-dismiss="alert" aria-label="Close">
				<span aria-hidden="true">
					&times;
				</span>
			</button>
			<span class="flashmsg"></span>
		</div>
	</div>
	<div class="alertnoclosetemplate template">
		<div class="alert alert-danger" role="alert">
			<span class="flashmsg"></span>
		</div>
	</div>



 
<script>
function dismiss() {
    console.log("dismiss");
    $.get( "/dismissalert");
}

var $alerttemplate = $(".alerttemplate");
var $alertnoclosetemplate = $(".alertnoclosetemplate");
var $noticetemplate = $(".noticetemplate");
function createAlert(msg, isError, autoClose, noClose) {
	if (isError == false) {
		$newPanel = $noticetemplate.clone();
	} else {
        if (noClose) {
		  $newPanel = $alertnoclosetemplate.clone();
        } else {
		  $newPanel = $alerttemplate.clone();
        }
	}
	$newPanel.find(".flashmsg").html(msg);
	if (autoClose == true) {
		$("#alertdiv").append($newPanel.fadeTo(2000, 500).slideUp(500, function(){
		    $newPanel.slideUp(500);
		    $newPanel.remove();
		}));  	
	} else {
		$("#alertdiv").append($newPanel.fadeIn());
	}
    return $newPanel;
}




</script>



	<div class="row">
		<div class="col-md-12">
			<img src="https://scc-ares-races.groups.io/g/announce/coverphoto" class="grouphome-center grouphome-fit">
		</div>
	</div>
	
		<h3>
			Santa Clara County ARES/RACES Announce
			<small>
				announce@scc-ares-races.groups.io
			</small>
		</h3>
	
	<div class="user-content">
		<div><strong>Santa Clara County ARES/RACES/ACS Main Group</strong><br/><br/>This is the main group for SCCo ARES/RACES/ACS.  The main group is only used for announcements that are relevant to all SCCo ARES/RACES/ACS members. The actual group discussions take place in various sub-groups listed in the subgroups menu.  Membership in this main group is required in order to join the subgroups.<br/><br/>This group is specific to ARES/RACES/ACS members in Santa Clara County, CA and is NOT a general discussion group for ARES, RACES, ACS or any of the subgroup topics.  We limit the number of messages from the announce group; you will not be spammed with other messages.  The announce list is limited to announcements about training, activities, documentation and procedures related to Emergency Communications that may be of interest to our members.  Typically this is 1-2 messages a month.<br/><br/><strong>To Join This Group:</strong>  </div>
<ul>
<li>Log into Groups.io and set the &#34;Display Name&#34; in your profile to include your full name and your call sign.  This helps others in the discussion group know who you are.</li>
<li>Click on the &#34;Apply for Membership In This Group&#34; button below.</li>
<li>If you are not currently logged into Groups.io, you will receive an e-mail asking you to confirm your e-mail address.  Reply to that e-mail as soon as possible.</li>
<li>You will receive an e-mail requesting specific information that helps us verify who you are and prevent SPAM.  Reply to that e-mail as soon as possible.</li>
<li>Once approved, you will be able to join the subgroups that interest you.</li>
</ul>
<div id="selenium-highlight"><strong>Important:</strong>  If you don&#39;t receive the message(s) described above fairly quickly (typically within a few minutes) then check your SPAM folder and/or SPAM settings.  If we don&#39;t receive a reply to the  message(s), we won&#39;t be able to add you to the group. </div>
<div id="selenium-highlight"><br/><strong>Other Groups:</strong>  Once you have been added to our announce group, you can join additional groups.  <br/>See:  <a href="https://www.scc-ares-races.org/discuss-groups.html" target="_blank" rel="nofollow noopener">https://www.scc-ares-races.org/discuss-groups.html</a></div>
<div id="selenium-highlight"></div>
	</div>
	<div class="row">
		<div class="col-md-6">
			<h4>
				Group Information
			</h4>
			<ul class="list-unstyled">
				
					<li>
						<i class="fa-fw fa fa-home"></i>
						<a href="http://www.scc-ares-races.org">
							http://www.scc-ares-races.org
						</a>
					</li>
				
				<li>
					<i class="fa-fw fa fa-users"></i>
					413 Members
				</li>
				
					<li>
						<i class="fa-fw fa fa-comments"></i>
						189 Topics
						, Last Post: 
<script id="timedisplast13117">
	$('#timedisplast13117').replaceWith(DisplayShortTime(1755406028862176029, false
		));
</script>

					</li>
				
				<li>
					<i class="fa-fw fa fa-clock"></i>
					Started on 
<script id="timedispcreated13117">
	$('#timedispcreated13117').replaceWith(DisplayShortTime(1283787739000000000, false
		));
</script>

				</li>
				
					
				
			</ul>
			
			<h4>
				Group Email Addresses
			</h4>
			<ul class="list-unstyled">
				<li>
					Post:
					<a href="mailto:announce@scc-ares-races.groups.io">
						announce@scc-ares-races.groups.io
					</a>
				</li>
				
					<li>
						Subscribe: 
							<a href="mailto:announce+subscribe@scc-ares-races.groups.io">
								announce+subscribe@scc-ares-races.groups.io
							</a>
						
					</li>
				
				<li>
					Unsubscribe:
					<a href="mailto:announce+unsubscribe@scc-ares-races.groups.io">
						announce+unsubscribe@scc-ares-races.groups.io
					</a>
				</li>
				<li>
					Group Owner:
					<a href="mailto:announce+owner@scc-ares-races.groups.io">
						announce+owner@scc-ares-races.groups.io
					</a>
				</li>
				<li>
					Help:
					<a href="mailto:announce+help@scc-ares-races.groups.io">
						announce+help@scc-ares-races.groups.io
					</a>
				</li>
			</ul>
		</div>
		<div class="col-md-6">
			<h4>
				Group Settings
			</h4>
			<ul class="list-unstyled">
				

				
				
				
					<li>
						<i class="fa-fw fa fa-bullhorn"></i>
						Only moderators can post to the group.
					</li>
				
				
					<li>
						<i class="fa-fw fa fa-check"></i>
						Posts to this group require approval from the moderators.
					</li>
				
				
				
						<li>
							<i class="fa-fw fa fa-reply"></i>
							Messages are set to reply to moderators.
						</li>
					

				
					<li>
						<i class="fa-fw fa fa-lock"></i>
						Subscriptions to this group require approval from the moderators.
					</li>
				
				
					
				
				
					
							<li>
								<i class="fa-fw fa fa-ban"></i>
								Archive is visible to members only.
							</li>
					
				
				
					
						<li>
							<i class="fa-fw fa fa-book"></i>
							Wiki is visible to members only.
						</li>
					
				
				
				
				
					<li>
						<i class="fa-fw fa fa-ban"></i>
						Members can edit their messages.
					</li>
				
				
				
			</ul>
		</div>
	</div>
	<div class="row">
		<div class="col-md-6">
			

			
		</div>
	</div>
	
		
			
				<p>
					<form role="form" class="form-horizontal" method="POST" action="https://scc-ares-races.groups.io/g/announce/join" hx-boost="false" hx-disinherit="*">
						
						<input type="hidden" name="group_id" value="13117">
						<input type="hidden" name="type" value="register">
						
						
							
								
									<button class="btn btn-primary btn-sm">
										<i class="fa fa-plus"></i>
										Apply For Membership In This Group
									</button>
								
								
									&nbsp;or
								
							
						
						
							<a class="btn btn-success btn-sm" href="/login?group_id=13117&r=https%3A%2F%2Fscc-ares-races.groups.io%2Fg%2Fannounce" hx-boost="false" hx-disinherit="*">
								<i class="fa fa-sign-in-alt"></i>
								Log In If You Are Already A Member
							</a>
						
					</form>
				</p>
			
		
	
	
		<div class="row">
			<div class="col-md-12">
				<h4>
					Archived Messages
				</h4>
				<div id="monthview"></div>
			</div>
		</div>
	
	

<script>
contentLoaded(false, function() {
	var d = new Date()
	var offset=d.getTimezoneOffset()
	$.ajax({
	type: "GET",
	url: "https://scc-ares-races.groups.io/g/announce/months",
	data: {"offset":offset},
	cache: false,
	xhrFields: {
		withCredentials: true
	},
	success: function(data){
		$("#monthview").html(data);
	}
	});
	UpdateSidebar("home");
});
</script>


				</div>
			</div>
		</div>
	</div>
	<div class="row hidden-print" id="mobileSidebar"  hx-boost="true" hx-target="#maincontent-refresh" hx-push-url="true" hx-history="false" hx-on::after-request="document.getElementById('maincontent').scrollTo({top: 0, behavior: 'instant'})" >
		<div id="mobileSidebarSub" class="col-xs-12 hidden-md hidden-lg">
			<div class="navbar navbar-default navbar-fixed-bottom">
				<div class="container" style="display: flex; justify-content: space-around;">
					
						
	
	

						
	

					
					<div style="flex: 1; text-align: center;margin-top:10px" data-drawer-trigger aria-controls="drawer-name" aria-expanded="false">
						<i class="fa-fw fa-light fa-bars fa-2x"></i><br>
						<span style="font-size:12px;">More</span>
					</div>
				</div>
			</div>
			<section class="drawer drawer-left" id="drawer-name" data-drawer-target>
				<div class="drawer-overlay" data-drawer-close tabindex="-1"></div>
				<div class="drawer-wrapper drawer-wrapper-top">
					<div class="drawer-header">
						<div class="drawer-title">
							<i class="fa-fw fa-regular fa-bars fa-3x"></i>
							<span class="sr-only">
								More Options
							</span>
							More
						</div>
						<button class="drawer-close" data-drawer-close aria-label="Close Drawer"></button>
					</div>
					<div class="drawer-content">
						<div class="list-group noborderlist">
							


	<a title="Group Home" href="https://scc-ares-races.groups.io/g/announce" class="list-group-item sidebar-item">
		<i class="fa-fw fa fa-home fa-lg"></i>
		Home
		
	</a>

	

	

	
		
	
	
	
	
	
	

		
	

	

	

	
			

	<a title="Subgroups" href="https://scc-ares-races.groups.io/g/announce/subgroups" id="sidebar-subgroups-mobile" class="noborderitem list-group-item sidebar-item sidebar-item-subgroups"> 
		<i class="fa-fw fa fa-chart-pie fa-lg"></i>
		Subgroups
		<span id="sidebar-subgroups-mobile-badge" class="badge"></span>
	</a>

	

	

	

	

	

	

	

							
								<a class="noborderitem list-group-item sidebar-item" href="https://groups.io/static/about" style="border-top:5px solid #ddd;">
									<i class="fa-fw fal fa-envelope fa-lg"></i>
									About
								</a>
								<a class="noborderitem list-group-item sidebar-item" href="https://groups.io/static/features">
									<i class="fa-fw far fa-tasks fa-lg"></i>
									Features
								</a>
								<a class="noborderitem list-group-item sidebar-item" href="https://groups.io/static/pricing">
									<i class="fa-fw fa fa-dollar-sign fa-lg"></i>
									Pricing
								</a>
								<a class="noborderitem list-group-item sidebar-item" href="https://groups.io/changelog">
									<i class="fa-fw fa fa-history fa-lg"></i>
									Changelog
								</a>
								<a class="noborderitem list-group-item sidebar-item" href="https://groups.io/static/tos">
									<i class="fa-fw fal fa-newspaper fa-lg"></i>
									Terms
								</a>
								<a class="noborderitem list-group-item sidebar-item" href="https://groups.io/helpcenter">
									<i class="fa-fw fa fa-info-circle fa-lg"></i>
									Help
								</a>
							
						</div>
					</div>
				</div>
			</section>
		</div>
	</div>

<!-- Modal Dialog for Autocomplete -->
<div class="modal fade" id="quickActionsModal" tabindex="-1" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-body">
        <input type="text" class="form-control" id="quickActionsInput" placeholder="Go to page..." style="margin-bottom:10px">
        <div id="quickActionsContainer" class="autocompleteResults" style="max-height:250px; overflow-y: auto;"></div>
		<div class="text-center" style="margin-top:10px; font-size:12px;"><i class="fa-sharp fa-arrow-up-arrow-down"></i> to navigate&nbsp;&nbsp;&nbsp;<i class="fa-sharp fa-arrow-turn-down-left"></i> to use&nbsp;&nbsp;&nbsp;<strong>esc</strong> to dismiss</div>
      </div>
    </div>
  </div>
</div>




<script>
	var quickActionsData = [
		
		
			{name: "Group Home", url: "https://scc-ares-races.groups.io/g/announce"},
		

		
		
		
		
		
		
		

		

		
			{name: "Subgroups", url: "https://scc-ares-races.groups.io/g/announce/subgroups"},
		
		
		

		

		
		
		
		/* other pages */
		{name: "Help", url: "/helpcenter"},
		{name: "Feed", url: "/feed"},
		{name: "Your Groups", url: "/groups"},
		{name: "Your Calendar", url: "/calendar"},
		{name: "Your Activity", url: "/activity"},
		{name: "Your Pending Messages", url: "/pendingmsgs"},
		{name: "Account Login", url: "/account"},
		{name: "Account Preferences", url: "/account?page=prefs"},
		{name: "Account Security", url: "/account?page=security"},
		{name: "Account Identity", url: "/account?page=profile&member_info_id=0"},
		{name: "Account Notifications", url: "/account?page=notifications"},
		{name: "Account Other Services", url: "/account?page=oauth"},
		{name: "Account Bounces", url: "/account?page=bounces"},
		{name: "Account Billing", url: "/account?page=billing"},
		{name: "Find a Group", url: "/search?p=SubsCount,,,20,2,0,0"},
	];


	InitAutocomplete("quickActions", quickActionsData);

	document.addEventListener('keydown', function(event) {
		var tagName = event.target.tagName.toLowerCase();
		if (tagName === 'input' || tagName === 'textarea' || event.target.isContentEditable) {
			return;
		}
		// check if the viewimages viewer is up
		let element = document.getElementById('overlay');
		if (element && element.classList.contains('visible')) {
			return;
		}
		if (event.key.toLowerCase() === '/') {
			if (navigator.platform.toUpperCase().indexOf('MAC') >= 0) {
				// For Mac
				// Check if Command (event.metaKey) is pressed, and either Option (event.altKey) is pressed or not
				if (event.metaKey) {
					event.preventDefault();
					showAutocompleteModal("quickActions");
					return;
				}
			} else {
				// For Windows and Linux
				if (event.ctrlKey) {
					event.preventDefault();
					showAutocompleteModal("quickActions");
					return;
				}
			}
		}
	});
	function UpdateSidebar(id) {
		console.log(id + " was clicked");
		var sidebarItems = document.querySelectorAll('.mobilesidebar-item');
		sidebarItems.forEach(function(item) {
			var iElement = item.getElementsByTagName('div')[0].getElementsByTagName('i')[0];
			if (item.id == "mobilesidebar-" + id) {
				console.log("making solid " + id)
				iElement.classList.add('fa-solid');
				iElement.classList.remove('fa-light');
			} else {
				iElement.classList.remove('fa-solid');
				iElement.classList.add('fa-light');
			}
		});
		var sidebarItems = document.querySelectorAll('.sidebar-item');
		// remove 'active' class from all 'sidebar-item' elements
		sidebarItems.forEach(function(item) {
			if (item.id == "sidebar-" + id) {
				console.log("making active " + id)
				item.classList.add('active');
			} else {
				item.classList.remove('active');
			}
		});
	}
</script>


			</div>
			
				<div id="scroll-top-outer">
					<div id="scroll-top" class="scroll-top-wrapper hidden-xs">
						<span class="scroll-top-inner">
							<i class="fa fa-arrow-circle-up fa-fw fa-2x"></i>
						</span>
					</div>
				</div>
<script>
	$(function() {
		$(document).on('scroll', function() {
			if ($(window).scrollTop() > 100) {
				$('.scroll-top-wrapper').addClass('show');
			} else {
				$('.scroll-top-wrapper').removeClass('show');
			}
		});
		$('.scroll-top-wrapper').on('click', scrollToTop);
	});

	function scrollToTop() {
		verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0;
		element = $('body');
		offset = element.offset();
		offsetTop = offset.top;
		$('html, body').animate({
			scrollTop: offsetTop
		}, 100, 'linear');
	}

	if (navigator.platform.toUpperCase().indexOf('MAC') >= 0) {
		let elements = document.querySelectorAll('strong.ctrlmeta');
		elements.forEach((element) => {
			// Check if the innerText is "ctrl"
			if (element.innerText === 'ctrl') {
				// Create a new "i" element
				let newElement = document.createElement('i');
				newElement.classList.add('fa-solid', 'fa-command');
				
				// Replace the old "strong" element with the new "i" element
				element.parentNode.replaceChild(newElement, element);
			}
		});
	}
</script>
			
			


		</body>
	</html>

