1function webClient() { 2 3 var i; 4 5 this.IE = false; 6 this.NS = false; 7 this.OP = false; 8 this.release = null; 9 10 if ((i = navigator.userAgent.indexOf("Opera")) >= 0) { 11 this.OP = true; 12 this.version = parseFloat(navigator.userAgent.substr(i + 5)); 13 return; 14 } 15 16 17 if ((i = navigator.userAgent.indexOf("MSIE")) >= 0) { 18 this.IE = true; 19 this.release = parseFloat(navigator.userAgent.substr(i + 4)); 20 return; 21 } 22 23 if ((i = navigator.userAgent.indexOf("Netscape6/")) >= 0) { 24 this.NS = true; 25 this.release = parseFloat(navigator.userAgent.substr(i + 10)); 26 return; 27 } 28 29 if ((i = navigator.userAgent.indexOf("Netscape7/")) >= 0) { 30 this.NS = true; 31 this.release = parseFloat(navigator.userAgent.substr(i + 10)); 32 return; 33 } 34 35 if ((i = navigator.userAgent.indexOf("Gecko")) >= 0) { 36 this.NS = true; 37 this.release = 6.1; 38 return; 39 } 40} 41 42 43var webClient = new webClient(); 44 45var activeButton = null; 46var activeSubButton = null; 47 48 if (webClient.IE) 49 document.onmousedown = pageMouseDown; 50 else 51 document.addEventListener("mousedown", pageMouseDown, true); 52 53function pageMouseDown(event) { 54 55 var el; 56 57 //if (activeButton == null) 58 // return; 59 60 if (webClient.IE) 61 el = window.event.srcElement; 62 else 63 el = (event.target.tagName ? event.target : event.target.parentNode); 64 65 if (el == activeButton || el == activeSubButton) 66 return; 67 68 if (el.className != "menuButton" && el.className != "menuItem" && 69 el.className != "menuItemSep" && el.className != "menu") { 70 if (activeButton) closeMenu(activeButton); 71 if (activeSubButton) closeSubMenu(activeSubButton); 72 } 73} 74 75function menuTouch(event, menuName) { 76 var button; 77 if (webClient.IE) 78 button = window.event.srcElement; 79 else 80 button = (event.target.tagName ? event.target : event.target.parentNode); 81 82 if (!button.menu && menuName) 83 button.menu = document.getElementById(menuName); 84 85 if (activeButton && activeButton != button) 86 closeMenu(activeButton); 87 if (activeSubButton && activeSubButton != button) 88 closeSubMenu(activeSubButton); 89 90 if (!button.isactive) 91 if (menuName) { 92 openMenu(button); 93 //} else { 94 // activeButton=button; 95 // button.isactive=true; 96 // button.className = "menuButtonActive"; 97 } 98 return false; 99} 100 101function subMenuTouch(event, menuName) { 102 var button; 103 104 if (webClient.IE) 105 button = window.event.srcElement; 106 else 107 button = (event.target.tagName ? event.target : event.target.parentNode); 108 109 if (!button.menu && menuName) 110 button.menu = document.getElementById(menuName); 111 112 if (activeSubButton && activeSubButton != button) 113 closeSubMenu(activeSubButton); 114 115 if (!button.isactive && menuName) 116 openSubMenu(button); 117 118 return false; 119} 120 121function openSubMenu(button) { 122 123 var w, dw, x, y; 124 125 button.className = "menuItemActive"; 126 127 if (webClient.IE && !button.menu.firstChild.style.width) { 128 w = button.menu.firstChild.offsetWidth; 129 button.menu.firstChild.style.width = w + "px"; 130 dw = button.menu.firstChild.offsetWidth - w; 131 w -= dw; 132 button.menu.firstChild.style.width = w + "px"; 133 } 134 135 x = getPageOffsetLeft(button)+ button.offsetWidth;; 136 y = getPageOffsetTop(button); 137 138 x++; 139 y++; 140 141 button.menu.style.left = x + "px"; 142 button.menu.style.top = y + "px"; 143 button.menu.style.visibility = "visible"; 144 145 button.isactive = true; 146 activeSubButton = button; 147} 148 149function openMenu(button) { 150 151 var w, dw, x, y; 152 153 button.className = "menuButtonActive"; 154 155 if (webClient.IE && !button.menu.firstChild.style.width) { 156 w = button.menu.firstChild.offsetWidth; 157 button.menu.firstChild.style.width = w + "px"; 158 dw = button.menu.firstChild.offsetWidth - w; 159 w -= dw; 160 button.menu.firstChild.style.width = w + "px"; 161 } 162 163 x = getPageOffsetLeft(button)-1; 164 y = getPageOffsetTop(button) + button.offsetHeight; 165 166 button.menu.style.left = x + "px"; 167 button.menu.style.top = y + "px"; 168 button.menu.style.visibility = "visible"; 169 170 button.isactive = true; 171 activeButton = button; 172} 173 174function closeMenu(button) { 175 button.className = "menuButton"; 176 177 if (button.menu) button.menu.style.visibility = "hidden"; 178 179 button.isactive = false; 180 activeButton = null; 181} 182 183function closeSubMenu(button) { 184 button.className = "menuItem"; 185 186 if (button.menu) button.menu.style.visibility = "hidden"; 187 188 button.isactive = false; 189 activeSubButton = null; 190} 191 192 193function getPageOffsetLeft(el) { 194 return el.offsetLeft + (el.offsetParent ? getPageOffsetLeft(el.offsetParent) : 0); 195} 196 197function getPageOffsetTop(el) { 198 return el.offsetTop + (el.offsetParent ? getPageOffsetTop(el.offsetParent) : 0); 199}
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.