1var delimeter = "-"; 2 3function getQueryStringParameters() { 4 var idx = document.URL.indexOf('?'); 5 var params = new Array(); 6 if (idx != -1) { 7 var pairs = document.URL.substring(idx + 1, document.URL.length).split('&'); 8 for (var i = 0; i < pairs.length; i++) { 9 nameVal = pairs[i].split('='); 10 params[nameVal[0]] = nameVal[1]; 11 } 12 } 13 return params; 14} 15 16function getParamsbyref() { 17 paramsbyref = getParamsbyrefString(document.URL); 18 return paramsbyref; 19} 20 21function getParamsbyrefString(url) { 22 var idx = url.indexOf('?'); 23 var paramsbyref = new Array(); 24 if (idx != -1) { 25 var pairs = url.substring(idx + 1, url.length).split('&'); 26 for (var i = 0; i < pairs.length; i++) { 27 nameVal = pairs[i].split('='); 28 paramsbyref[i] = nameVal; 29 } 30 } 31 return paramsbyref; 32} 33 34function setParam(id, value) { 35 if (value === "") { 36 return false; 37 } 38 paramsbyref = getParamsbyref(); 39 var url = 'not'; 40 if (document.URL.indexOf('?') == -1) { 41 url = "?" + id + "=" + value; 42 } 43 else if (document.URL.indexOf("&" + id + "=") != -1 || document.URL.indexOf("?" + id + "=") != -1) { 44 url = "?"; 45 for (var i = 0; i < paramsbyref.length; i++) { 46 if (i != 0) 47 url += "&"; 48 url += paramsbyref[i][0] + "="; 49 if (paramsbyref[i][0].toLowerCase() != id.toLowerCase()) 50 url += paramsbyref[i][1]; 51 else 52 url += value; 53 } 54 if (id.toLowerCase() != 'pagenum') { 55 url = removeParamString("pagenum", url); 56 } 57 } 58 else { 59 var idx = document.URL.indexOf('?'); 60 url = "?" + document.URL.substring(idx + 1, document.URL.length) + "&" + id + "=" + value; 61 if (id.toLowerCase() != 'pagenum') { 62 url = removeParamString("pagenum", url); 63 } 64 } 65 document.location.href = url; 66} 67 68function removeParamString(id, instring) { 69 if (instring == "") 70 paramsbyref = getParamsbyref(); 71 else 72 paramsbyref = getParamsbyrefString(instring); 73 var url = ""; 74 for (var i = 0; i < paramsbyref.length; i++) { 75 if (paramsbyref[i][0].toLowerCase() != id.toLowerCase()) { 76 if (url.length != 0) 77 url += "&"; 78 else 79 url += "?"; 80 url += paramsbyref[i][0] + "=" + paramsbyref[i][1]; 81 } 82 } 83 if (url == "") { 84 var idx = document.URL.indexOf('?'); 85 url = document.URL.substring(0, idx); 86 } 87 return url; 88} 89 90function removeParam(id) { 91 var url = removeParamString(id, ""); 92 document.location.href = url; 93} 94 95function guidedNavigationStartOver() { 96 var url = removeParamString("section", ""); 97 url = removeParamString("category", url); 98 url = removeParamString("manufacturer", url); 99 url = removeParamString("distributor", url); 100 url = removeParamString("genre", url); 101 url = removeParamString("vector", url); 102 if (url.indexOf('search.aspx') === -1) { 103 url = removeParamString("searchterm", url); 104 } 105 document.location.href = url; 106} 107 108function sectionLink(sec) { entityLink(sec, "sections"); } // override for backwards compatability 109function entityLink(id, paramname) { 110 params = getQueryStringParameters(); 111 if (params[paramname] != null && params[paramname].match(delimeter + id + delimeter) == delimeter + id + delimeter) 112 { return; } 113 if (params[paramname] != null) 114 var querystring = params[paramname] + id + delimeter; 115 else 116 var querystring = delimeter + id + delimeter; 117 setParam(paramname, querystring); 118} 119 120function sectionReplaceLink(sec, oldsec) { entityReplaceLink(sec, oldsec, "sections"); }//override for backwards compatability 121function entityReplaceLink(id, oldid, paramname) { 122 params = getQueryStringParameters(); 123 if (params[paramname] != null && params[paramname].match(delimeter + id + delimeter) == delimeter + id + delimeter) 124 { return; } 125 if (params[paramname] != null) 126 var querystring = params[paramname].replace(delimeter + oldid + delimeter, delimeter + id + delimeter); 127 else 128 var querystring = delimeter + id + delimeter; 129 setParam(paramname, querystring); 130} 131 132function removeSection(id) { removeEntity(id, "sections"); } //override for backwards compatability 133function removeEntity(id, paramname) { 134 params = getQueryStringParameters(); 135 var out = removeID(params[paramname], delimeter + id + delimeter); 136 if (out == delimeter) 137 removeParam(paramname); 138 else
139 setParam(paramname, out); 140} 141 142function removeID(s, t) { 143 i = s.indexOf(t); 144 r = ""; 145 if (i == -1) return s; 146 r += s.substring(0, i) + delimeter + removeID(s.substring(i + t.length), t); 147 return r; 148} 149 150function replaceBasePage(newpage) { 151 var idx = document.URL.indexOf('?'); 152 var qs = ''; 153 if (idx > 0) { 154 qs = document.URL.substring(idx, document.URL.length); 155 } 156 document.location.href = newpage + qs; 157} 158 159 160 161 162//Cookie Code 163function getCookie(c_name) { 164 if (document.cookie.length > 0) { 165 c_start = document.cookie.indexOf(c_name + "=") 166 if (c_start != -1) { 167 c_start = c_start + c_name.length + 1 168 c_end = document.cookie.indexOf(";", c_start) 169 if (c_end == -1) c_end = document.cookie.length 170 return unescape(document.cookie.substring(c_start, c_end)) 171 } 172 } 173 return "" 174} 175 176function setCookie(c_name, value, expiredays) { 177 var exdate = new Date() 178 exdate.setDate(exdate.getDate() + expiredays) 179 document.cookie = c_name + "=" + escape(value) + 180 ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()) 181} 182 183function checkCookie() { 184 username = getCookie('username') 185 if (username != null && username != "") 186 { alert('Welcome again ' + username + '!') } 187 else 188 { 189 username = prompt('Please enter your name:', "") 190 if (username != null && username != "") { 191 setCookie('username', username, 365) 192 } 193 } 194} 195 196function show(sid, name, sectionname) { showEntity(sid, name, sectionname, "sections"); } //override for backwards compatability 197function showEntity(id, name, entityname, paramname) { 198 if (params[paramname] != null && params[paramname].match(delimeter + id + delimeter) == delimeter + id + delimeter) 199 { selectedArray.push([id, name, entityname]); } 200 document.getElementById(entityname + "Header").style.display = "block"; 201} 202 203 204var selectedArray = new Array(); 205var showSelected = false; 206params = getQueryStringParameters();
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.