CloudAvailable

CloudAvailable
About Cloud
FelV+Cloud has endless amounts of energy, and loves to play with her friends! She has feline leukemia virus, but she can live with other cats that are FelV positive. She is such an affectionate girl, and loved to be snuggled. If interested, fill out an application at EHRcats.org. (function () { // Only on animal detail pages if (!/\/animals\/detail/i.test(location.pathname)) return; // Debounce to avoid double-fire (touchend + click, etc.) var lastNavAt = 0; function toFullSize(url) { try { var u = new URL(url, location.href); u.searchParams.delete('width'); u.searchParams.delete('height'); return u.toString(); } catch (e) { return url || ''; } } function looksLikeAnimalPhoto(url) { return /\/pictures\/animals\/\d+\/\d+\/[^?#]+\.(jpg|jpeg|png|gif)/i.test(url || ''); } function handler(e) { var el = e.target; if (!el) return; // Find the closest anchor or image in the click path var a = el.closest ? el.closest('a') : null; var img = el.closest ? el.closest('img') : null; var url = ''; // Prefer anchor href if it points to an animal photo if (a && a.getAttribute) { var href = a.getAttribute('href') || ''; if (href && (href.indexOf('/pictures/animals/') !== -1 || looksLikeAnimalPhoto(href))) { url = href; } } // Otherwise fall back to the image src if (!url && img && img.getAttribute) { var src = img.getAttribute('src') || ''; if (src && (src.indexOf('/pictures/animals/') !== -1 || looksLikeAnimalPhoto(src))) { url = src; } } if (!url) return; // Absolute URL + full-size version try { url = new URL(url, location.href).toString(); } catch (_) {} url = toFullSize(url); // Stop PrettyPhoto (and any other delegated click handlers) e.preventDefault(); e.stopPropagation(); if (e.stopImmediatePropagation) e.stopImmediatePropagation(); // Debounce var now = Date.now(); if (now - lastNavAt < 500) return; lastNavAt = now; // SAME TAB navigation to the full-size image location.href = url; } // Capture phase is the key: we get the event before PrettyPhoto. ['click', 'pointerup', 'touchend'].forEach(function (evt) { document.addEventListener(evt, handler, true); }); })();











