PageSourceSearch

https://www.blueplanetjournal.com/SpryAssets/SpryMenuBar.js

js blueplanetjournal.com collected 2026-10-05 18:34:56 UTC 12,166 bytes, 1 lines download raw bytes

1(function(){if(typeof Spry=="undefined")window.Spry={};if(!Spry.Widget)Spry.Widget={};Spry.BrowserSniff=function(){var e=navigator.appName.toString();var t=navigator.platform.toString();var n=navigator.userAgent.toString();this.mozilla=this.ie=this.opera=this.safari=false;var r=/Opera.([0-9\.]*)/i;var i=/MSIE.([0-9\.]*)/i;var s=/gecko/i;var o=/(applewebkit|safari)\/([\d\.]*)/i;var u=false;if(u=n.match(r)){this.opera=true;this.version=parseFloat(u[1])}else if(u=n.match(i)){this.ie=true;this.version=parseFloat(u[1])}else if(u=n.match(o)){this.safari=true;this.version=parseFloat(u[2])}else if(n.match(s)){var a=/rv:\s*([0-9\.]+)/i;u=n.match(a);this.mozilla=true;this.version=parseFloat(u[1])}this.windows=this.mac=this.linux=false;this.Platform=n.match(/windows/i)?"windows":n.match(/linux/i)?"linux":n.match(/mac/i)?"mac":n.match(/unix/i)?"unix":"unknown";this[this.Platform]=true;this.v=this.version;if(this.safari&&this.mac&&this.mozilla){this.mozilla=false}};Spry.is=new Spry.BrowserSniff;Spry.Widget.MenuBar=function(e,t){this.init(e,t)};Spry.Widget.MenuBar.prototype.init=function(e,t){this.element=this.getElement(e);this.currMenu=null;this.showDelay=250;this.hideDelay=600;if(typeof document.getElementById=="undefined"||navigator.vendor=="Apple Computer, Inc."&&typeof window.XMLHttpRequest=="undefined"||Spry.is.ie&&typeof document.uniqueID=="undefined"){return}if(Spry.is.ie&&Spry.is.version<7){try{document.execCommand("BackgroundImageCache",false,true)}catch(n){}}this.upKeyCode=Spry.Widget.MenuBar.KEY_UP;this.downKeyCode=Spry.Widget.MenuBar.KEY_DOWN;this.leftKeyCode=Spry.Widget.MenuBar.KEY_LEFT;this.rightKeyCode=Spry.Widget.MenuBar.KEY_RIGHT;this.escKeyCode=Spry.Widget.MenuBar.KEY_ESC;this.hoverClass="MenuBarItemHover";this.subHoverClass="MenuBarItemSubmenuHover";this.subVisibleClass="MenuBarSubmenuVisible";this.hasSubClass="MenuBarItemSubmenu";this.activeClass="MenuBarActive";this.isieClass="MenuBarItemIE";this.verticalClass="MenuBarVertical";this.horizontalClass="MenuBarHorizontal";this.enableKeyboardNavigation=true;this.hasFocus=false;if(t){for(var r in t){if(typeof this[r]=="undefined"){var i=new Image;i.src=t[r]}}Spry.Widget.MenuBar.setOptions(this,t)}if(Spry.is.safari)this.enableKeyboardNavigation=false;if(this.element){this.currMenu=this.element;var s=this.element.getElementsByTagName("li");for(var o=0;o<s.length;o++){if(o>0&&this.enableKeyboardNavigation)s[o].getElementsByTagName("a")[0].tabIndex="-1";this.initialize(s[o],e);if(Spry.is.ie){this.addClassName(s[o],this.isieClass);s[o].style.position="static"}}if(this.enableKeyboardNavigation){var u=this;this.addEventListener(document,"keydown",function(e){u.keyDown(e)},false)}if(Spry.is.ie){if(this.hasClassName(this.element,this.verticalClass)){this.element.style.position="relative"}var a=this.element.getElementsByTagName("a");for(var o=0;o<a.length;o++){a[o].style.position="relative"}}}};Spry.Widget.MenuBar.KEY_ESC=27;Spry.Widget.MenuBar.KEY_UP=38;Spry.Widget.MenuBar.KEY_DOWN=40;Spry.Widget.MenuBar.KEY_LEFT=37;Spry.Widget.MenuBar.KEY_RIGHT=39;Spry.Widget.MenuBar.prototype.getElement=function(e){if(e&&typeof e=="string")return document.getElementById(e);return e};Spry.Widget.MenuBar.prototype.hasClassName=function(e,t){if(!e||!t||!e.className||e.className.search(new RegExp("\\b"+t+"\\b"))==-1){return false}return true};Spry.Widget.MenuBar.prototype.addClassName=function(e,t){if(!e||!t||this.hasClassName(e,t))return;e.className+=(e.className?" ":"")+t};Spry.Widget.MenuBar.prototype.removeClassName=function(e,t){if(!e||!t||!this.hasClassName(e,t))return;e.className=e.className.replace(new RegExp("\\s*\\b"+t+"\\b","g"),"")};Spry.Widget.MenuBar.prototype.addEventListener=function(e,t,n,r){try{if(e.addEventListener){e.addEventListener(t,n,r)}else if(e.attachEvent){e.attachEvent("on"+t,n)}}catch(i){}};Spry.Widget.MenuBar.prototype.createIframeLayer=function(e){var t=document.createElement("iframe");t.tabIndex="-1";t.src='javascript:""';t.frameBorder="0";t.scrolling="no";e.parentNode.appendChild(t);t.style.left=e.offsetLeft+"px";t.style.top=e.offsetTop+"px";t.style.width=e.offsetWidth+"px";t.style.height=e.offsetHeight+"px"};Spry.Widget.MenuBar.prototype.removeIframeLayer=function(e){var t=(e==this.element?e:e.parentNode).getElementsByTagName("iframe");while(t.length>0){t[0].parentNode.removeChild(t[0])}};Spry.Widget.MenuBar.prototype.clearMenus=function(e){var t=e.getElementsByTagName("ul");for(var n=0;n<t.length;n++)this.hideSubmenu(t[n]);this.removeClassName(this.element,this.activeClass)};Spry.Widget.MenuBar.prototype.bubbledTextEvent=function(){return Spry.is.safari&&(event.target==event.relatedTarget.parentNode||event.eventPhase==3&&event.target.parentNode==event.relatedTarget)};Spry.Widget.MenuBar.prototype.showSubmenu=function(e){if(this.currMenu){this.clearMenus(this.currMenu);this.currMenu=null}if(e){this.addClassName(e,this.subVisibleClass);if(typeof document.all!="undefined"&&!Spry.is.opera&&navigator.vendor!="KDE"){if(!this.hasClassName(this.element,this.horizontalClass)||e.parentNode.parentNode!=this.element){e.style.top=e.parentNode.offsetTop+"px"}}if(Spry.is.ie&&Spry.is.version<7){this.createIframeLayer(e)}}this.addClassName(this.element,this.activeClass)};Spry.Widget.MenuBar.prototype.hideSubmenu=function(e){if(e){this.removeClassName(e,this.subVisibleClass);if(typeof document.all!="undefined"&&!Spry.is.opera&&navigator.vendor!="KDE"){e.style.top="";e.style.left=""}if(Spry.is.ie&&Spry.is.version<7)this.removeIframeLayer(e)}};Spry.Widget.MenuBar.prototype.initialize=function(e,t){var n,r;var i=e.getElementsByTagName("a")[0];var s=e.getElementsByTagName("ul");var o=s.length>0?s[0]:null;if(o)this.addClassName(i,this.hasSubClass);if(!Spry.is.ie){e.contains=function(e){if(e==null)return false;if(e==this)return true;else return this.contains(e.parentNode)}}var u=this;this.addEventListener(e,"mouseover",function(t){u.mouseOver(e,t)},false);this.addEventListener(e,"mouseout",function(t){if(u.enableKeyboardNavigation)u.clearSelection();u.mouseOut(e,t)},false);
1if(this.enableKeyboardNavigation){this.addEventListener(i,"blur",function(t){u.onBlur(e)},false);this.addEventListener(i,"focus",function(t){u.keyFocus(e,t)},false)}};Spry.Widget.MenuBar.prototype.keyFocus=function(e,t){this.lastOpen=e.getElementsByTagName("a")[0];this.addClassName(this.lastOpen,e.getElementsByTagName("ul").length>0?this.subHoverClass:this.hoverClass);this.hasFocus=true};Spry.Widget.MenuBar.prototype.onBlur=function(e){this.clearSelection(e)};Spry.Widget.MenuBar.prototype.clearSelection=function(e){if(!this.lastOpen)return;if(e){e=e.getElementsByTagName("a")[0];var t=this.lastOpen;while(t!=this.element){var n=e;while(n!=this.element){if(n==t)return;try{n=n.parentNode}catch(r){break}}t=t.parentNode}}var t=this.lastOpen;while(t!=this.element){this.hideSubmenu(t.parentNode);var i=t.getElementsByTagName("a")[0];this.removeClassName(i,this.hoverClass);this.removeClassName(i,this.subHoverClass);t=t.parentNode}this.lastOpen=false};Spry.Widget.MenuBar.prototype.keyDown=function(e){if(!this.hasFocus)return;if(!this.lastOpen){this.hasFocus=false;return}var e=e||event;var t=this.lastOpen.parentNode;var n=this.lastOpen;var r=t.getElementsByTagName("ul");var i=r.length>0?r[0]:null;var s=i?true:false;var o=[t,i,null,this.getSibling(t,"previousSibling"),this.getSibling(t,"nextSibling")];if(!o[3])o[2]=t.parentNode.parentNode.nodeName.toLowerCase()=="li"?t.parentNode.parentNode:null;var u=0;switch(e.keyCode){case this.upKeyCode:u=this.getElementForKey(o,"y",1);break;case this.downKeyCode:u=this.getElementForKey(o,"y",-1);break;case this.leftKeyCode:u=this.getElementForKey(o,"x",1);break;case this.rightKeyCode:u=this.getElementForKey(o,"x",-1);break;case this.escKeyCode:case 9:this.clearSelection();this.hasFocus=false;default:return}switch(u){case 0:return;case 1:this.mouseOver(t,e);break;case 2:this.mouseOut(o[2],e);break;case 3:case 4:this.removeClassName(n,s?this.subHoverClass:this.hoverClass);break}var n=o[u].getElementsByTagName("a")[0];if(o[u].nodeName.toLowerCase()=="ul")o[u]=o[u].getElementsByTagName("li")[0];this.addClassName(n,o[u].getElementsByTagName("ul").length>0?this.subHoverClass:this.hoverClass);this.lastOpen=n;o[u].getElementsByTagName("a")[0].focus();return Spry.Widget.MenuBar.stopPropagation(e)};Spry.Widget.MenuBar.prototype.mouseOver=function(e,t){var n=e.getElementsByTagName("a")[0];var r=e.getElementsByTagName("ul");var i=r.length>0?r[0]:null;var s=i?true:false;if(this.enableKeyboardNavigation)this.clearSelection(e);if(this.bubbledTextEvent()){return}if(e.closetime)clearTimeout(e.closetime);if(this.currMenu==e){this.currMenu=null}if(this.hasFocus)n.focus();this.addClassName(n,s?this.subHoverClass:this.hoverClass);this.lastOpen=n;if(i&&!this.hasClassName(i,this.subHoverClass)){var o=this;e.opentime=window.setTimeout(function(){o.showSubmenu(i)},this.showDelay)}};Spry.Widget.MenuBar.prototype.mouseOut=function(e,t){var n=e.getElementsByTagName("a")[0];var r=e.getElementsByTagName("ul");var i=r.length>0?r[0]:null;var s=i?true:false;if(this.bubbledTextEvent()){return}var o=typeof t.relatedTarget!="undefined"?t.relatedTarget:t.toElement;if(!e.contains(o)){if(e.opentime)clearTimeout(e.opentime);this.currMenu=e;this.removeClassName(n,s?this.subHoverClass:this.hoverClass);if(i){var u=this;e.closetime=window.setTimeout(function(){u.hideSubmenu(i)},this.hideDelay)}if(this.hasFocus)n.blur()}};Spry.Widget.MenuBar.prototype.getSibling=function(e,t){var n=e[t];while(n&&n.nodeName.toLowerCase()!="li")n=n[t];return n};Spry.Widget.MenuBar.prototype.getElementForKey=function(e,t,n){var r=0;var i=Spry.Widget.MenuBar.getPosition;var s=i(e[r]);var o=false;if(e[1]&&!this.hasClassName(e[1],this.MenuBarSubmenuVisible)){e[1].style.visibility="hidden";this.showSubmenu(e[1]);o=true}var u=this.hasClassName(this.element,this.verticalClass);var a=e[0].parentNode.parentNode.nodeName.toLowerCase()=="li"?true:false;for(var f=1;f<e.length;f++){if(t=="y"&&u&&(f==1||f==2)){continue}if(t=="x"&&!u&&!a&&(f==1||f==2)){continue}if(e[f]){var l=i(e[f]);if(n*l[t]<n*s[t]){s=l;r=f}}}if(e[1]&&o){this.hideSubmenu(e[1]);e[1].style.visibility=""}return r};Spry.Widget.MenuBar.camelize=function(e){if(e.indexOf("-")==-1){return e}var t=e.split("-");var n=true;var r="";for(var i=0;i<t.length;i++){if(t[i].length>0){if(n){r=t[i];n=false}else{var s=t[i];r+=s.charAt(0).toUpperCase()+s.substring(1)}}}return r};Spry.Widget.MenuBar.getStyleProp=function(e,t){var n;try{if(e.style)n=e.style[Spry.Widget.MenuBar.camelize(t)];if(!n)if(document.defaultView&&document.defaultView.getComputedStyle){var r=document.defaultView.getComputedStyle(e,null);n=r?r.getPropertyValue(t):null}else if(e.currentStyle){n=e.currentStyle[Spry.Widget.MenuBar.camelize(t)]}}catch(i){}return n=="auto"?null:n};Spry.Widget.MenuBar.getIntProp=function(e,t){var n=parseInt(Spry.Widget.MenuBar.getStyleProp(e,t),10);if(isNaN(n))return 0;return n};Spry.Widget.MenuBar.getPosition=function(e,t){t=t||document;if(typeof e=="string"){e=t.getElementById(e)}if(!e){return false}if(e.parentNode===null||Spry.Widget.MenuBar.getStyleProp(e,"display")=="none"){return false}var n={x:0,y:0};var r=null;var i;if(e.getBoundingClientRect){i=e.getBoundingClientRect();var s=t.documentElement.scrollTop||t.body.scrollTop;var o=t.documentElement.scrollLeft||t.body.scrollLeft;n.x=i.left+o;n.y=i.top+s}else if(t.getBoxObjectFor){i=t.getBoxObjectFor(e);n.x=i.x;n.y=i.y}else{n.x=e.offsetLeft;n.y=e.offsetTop;r=e.offsetParent;if(r!=e){while(r){n.x+=r.offsetLeft;n.y+=r.offsetTop;r=r.offsetParent}}if(Spry.is.opera||Spry.is.safari&&Spry.Widget.MenuBar.getStyleProp(e,"position")=="absolute")n.y-=t.body.offsetTop}if(e.parentNode)r=e.parentNode;else r=null;if(r.nodeName){var u=r.nodeName.toUpperCase();while(r&&u!="BODY"&&u!="HTML"){u=r.nodeName.toUpperCase();n.x-=r.scrollLeft;n.y-=r.scrollTop;if(r.parentNode)r=r.parentNode;else r=null}}return n};Spry.Widget.MenuBar.stopPropagation=function(e){if(e.stopPropagation)e.stopPropagation();else e.cancelBubble=true;if(e.preventDefault)e.preventDefault();else e.returnValue=false};Spry.Widget.MenuBar.setOptions=function(e,t,n){if(!t)return;for(var r in t){if(n&&t[r]==undefined)continue;e[r]=t[r]}}})()

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.