1var xmlHttp = new Array(); // use array for simultaneous calls 2 3function GetXmlHttpObject() { 4 try { return new XMLHttpRequest(); } 5 catch (e) { 6 try { 7 return new ActiveXObject("MSXML2.XMLHTTP"); 8 } catch (e) { 9 return null; 10 } 11 } 12} 13 14function loadAjax(divId, url, someFunction, someParams) { 15 var divObj = document.getElementById(divId); 16 if(divObj) { 17 var reqId = xmlHttp.length; 18 xmlHttp[reqId] = GetXmlHttpObject(); 19 if (xmlHttp[reqId] == null) { 20 alert ("Your browser does not support AJAX!"); 21 return; 22 } 23 xmlHttp[reqId].onreadystatechange = function() { loadedAjax(reqId, someFunction, someParams, divObj); }; 24 xmlHttp[reqId].open("GET", url, true); 25 xmlHttp[reqId].setRequestHeader('Content-Type', 'application/ajax+html'); 26 xmlHttp[reqId].send(null); 27 } else { 28 alert("Can't initiliaze HTML object: " + divId); 29 } 30 return false; 31} 32 33function callAjax(url, someFunction, someParams) { 34 if (someFunction) { 35 var reqId = xmlHttp.length; 36 xmlHttp[reqId] = GetXmlHttpObject(); 37 if (xmlHttp[reqId] == null) { 38 alert ("Your browser does not support AJAX!"); 39 return; 40 } 41 42 xmlHttp[reqId].onreadystatechange = function() { loadedAjax(reqId, someFunction, someParams, ""); }; 43 xmlHttp[reqId].open("GET", url, true); 44 xmlHttp[reqId].setRequestHeader('Content-Type', 'application/ajax+html'); 45 xmlHttp[reqId].send(null); 46 } else { 47 alert("Function is not defined for AJAX call."); 48 } 49 return false; 50} 51 52function postAjax(url, someFunction, someParams, formObject, postParams) { 53 var params = ""; 54 if (formObject) { 55 for (var f = 0; f < formObject.elements.length; f++) { 56 var formElement = formObject.elements[f]; 57 var elementType = formElement.type; 58 var elementName = formElement.name; 59 var elementValue = ""; 60 if (elementType == "radio" || elementType == "checkbox") { 61 if (formElement.checked) { 62 elementValue = formElement.value; 63 } 64 } else { 65 elementValue = formElement.value; 66 } 67 if (elementValue && elementValue != "") { 68 if (params != "") { params += "&"; } 69 params += elementName+"="+encodeURIComponent(elementValue); 70 } 71 } 72 } 73 if (postParams && (postParams instanceof Array || postParams instanceof Object)) { 74 for (paramName in postParams) { 75 if (params != "") { params += "&"; } 76 params += encodeURIComponent(paramName)+"="+encodeURIComponent(postParams[paramName]); 77 } 78 } 79 if (someFunction) { 80 var reqId = xmlHttp.length; 81 xmlHttp[reqId] = GetXmlHttpObject(); 82 if (xmlHttp[reqId] == null) { 83 alert ("Your browser does not support AJAX!"); 84 return; 85 } 86 87 xmlHttp[reqId].onreadystatechange = function() { loadedAjax(reqId, someFunction, someParams, ""); }; 88 xmlHttp[reqId].open('POST', url, true); 89 xmlHttp[reqId].setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 90 xmlHttp[reqId].send(params); 91 } else { 92 alert("Function is not defined for AJAX call."); 93 } 94 return false; 95} 96 97 98function loadedAjax(reqId, someFunction, someParams, divObj) 99{ 100 if (xmlHttp[reqId].readyState == 4) { 101 if (divObj) { 102 divObj.innerHTML = xmlHttp[reqId].responseText; 103 } 104 if (someFunction) { 105 someFunction(xmlHttp[reqId].responseText, someParams); 106 } 107 xmlHttp[reqId] = null; 108 } 109} 110 111function nextNode(e) { 112 return ((e && e.nodeType != 1) ? nextNode(e = e.nextSibling) : e); 113} 114 115function prevNode(e) { 116 return ((e && e.nodeType != 1) ? prevNode(e = e.previousSibling) : e); 117} 118 119function nextElement(e) { 120 return nextNode(e.nextSibling); 121} 122 123function prevElement(e) { 124 return prevNode(e.previousSibling); 125} 126 127 128 129function addClassNameByID(obj_id, classname) { 130 var obj = document.getElementById(obj_id); 131 if (obj) { 132 addClassName(obj, classname); 133 } 134 var obj = document.getElementsByName(obj_id); 135 if (obj) { 136 for(var j=0; j<obj.length; j++) { 137 addClassName(obj[j], classname); 138 } 139 } 140} 141 142function addClassName(obj, classname) { 143 obj.className += " " + classname; 144} 145 146function removeClassNameByID(obj_id, classname) { 147 var obj = document.getElementById(obj_id); 148 if (obj) { 149 removeClassName(obj, classname); 150 } 151 var obj = document.getElementsByName(obj_id); 152 if (obj) { 153 for(var j=0; j<obj.length; j++) { 154 removeClassName(obj[j], classname); 155 } 156 } 157} 158 159function removeClassName(obj, classname) { 160 var substr = obj.className.split(" "); 161 if (substr.length) { 162 obj.className = ""; 163 for (i = 0; i < substr.length; i++) { 164 if (substr[i] !== classname) { 165 obj.className += " " + substr[i]; 166 } 167 } 168 } else if (obj.className == classname){ 169 obj.className = ""; 170 } 171} 172 173function hasClassNameByID(obj_id, classname) { 174 var obj = document.getElementById(obj_id); 175 if (obj) { 176 return hasClassName(obj, classname); 177 } 178 var obj = document.getElementsByName(obj_id); 179 if (obj) { 180 if (obj.length) { 181 return hasClassName(obj[0], classname); 182 } else { 183 return hasClassName(obj, classname); 184 } 185 } 186 return false;
187} 188 189function hasClassName(obj, classname) { 190 var substr = obj.className.split(" "); 191 if (substr.length) { 192 for (i = 0; i < substr.length; i++) { 193 if (substr[i] == classname) { 194 return true; 195 } 196 } 197 } else if (obj.className == classname){ 198 return true; 199 } 200 return false; 201} 202 203function formSerialize(form) { 204 var serialized = ""; 205 for (i = 0; i<form.length; i++) { 206 if(form[i].type) { 207 if (form[i].type == "text" || form[i].type == "hidden" || form[i].type == "select-one") { 208 serialized += form[i].name + "=" + form[i].value + "&"; 209 } else if (form[i].type == "checkbox") { 210 if (form[i].checked) { 211 serialized += form[i].name + "=" + form[i].value + "&"; 212 } 213 } 214 } else { 215 serialized += form[i].name + "=" + form[i].value + "&"; 216 } 217 } 218 return serialized; 219} 220 221function stringUnserialize(str) { 222 var substr = str.split("&"); 223 var values = new Array(); 224 var j = 0; 225 if (substr.length) { 226 for (i = 0; i < substr.length; i++) { 227 if (substr[i].length) { 228 line = substr[i].split("="); 229 if (line.length && line[0]){ 230 values[j] = new Array(); 231 values[j][0] = line[0]; 232 values[j][1] = line[1]; 233 j++; 234 } 235 } 236 } 237 } else { 238 line = response.split("="); 239 if (line.length && line[0]){ 240 values[j] = new Array(); 241 values[j][0] = line[0]; 242 values[j][1] = line[1]; 243 j++; 244 } 245 } 246 return values; 247}
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.