/* W3Data ver 1.31 by W3Schools.com */\r
-var w3DataObject = {};\r
-function w3DisplayData(id, data) {\r
- var htmlObj, htmlTemplate, html, arr = [], a, l, rowClone, x, j, i, ii, cc, repeat, repeatObj, repeatX = "";\r
- htmlObj = document.getElementById(id);\r
- htmlTemplate = w3InitTemplate(id, htmlObj);\r
- html = htmlTemplate.cloneNode(true);\r
- arr = w3GetElementsByAttribute(html, "w3-repeat");\r
- l = arr.length;\r
- for (j = (l - 1); j >= 0; j -= 1) {\r
- cc = arr[j].getAttribute("w3-repeat").split(" ");\r
- if (cc.length == 1) {\r
- repeat = cc[0];\r
- } else {\r
- repeatX = cc[0];\r
- repeat = cc[2];\r
- }\r
- arr[j].removeAttribute("w3-repeat");\r
- repeatObj = data[repeat];\r
- if (repeatObj && typeof repeatObj == "object" && repeatObj.length != "undefined") {\r
- i = 0;\r
- for (x in repeatObj) {\r
- i += 1;\r
- rowClone = arr[j];\r
- rowClone = w3NeedleInHaystack(rowClone, "element", repeatX, repeatObj[x]);\r
- a = rowClone.attributes;\r
- for (ii = 0; ii < a.length; ii += 1) {\r
- a[ii].value = w3NeedleInHaystack(a[ii], "attribute", repeatX, repeatObj[x]).value;\r
- }\r
- (i === repeatObj.length) ? arr[j].parentNode.replaceChild(rowClone, arr[j]) : arr[j].parentNode.insertBefore(rowClone, arr[j]);\r
- }\r
- } else {\r
- console.log("w3-repeat must be an array. " + repeat + " is not an array.");\r
- continue;\r
- }\r
- }\r
- html = w3NeedleInHaystack(html, "element");\r
- htmlObj.parentNode.replaceChild(html, htmlObj);\r
- function w3InitTemplate(id, obj) {\r
- var template;\r
- template = obj.cloneNode(true);\r
- if (w3DataObject.hasOwnProperty(id)) {return w3DataObject[id];}\r
- w3DataObject[id] = template;\r
- return template;\r
- }\r
- function w3GetElementsByAttribute(x, att) {\r
- var arr = [], arrCount = -1, i, l, y = x.getElementsByTagName("*"), z = att.toUpperCase();\r
- l = y.length;\r
- for (i = -1; i < l; i += 1) {\r
- if (i == -1) {y[i] = x;}\r
- if (y[i].getAttribute(z) !== null) {arrCount += 1; arr[arrCount] = y[i];}\r
- }\r
- return arr;\r
- }\r
- function w3NeedleInHaystack(elmnt, typ, repeatX, x) {\r
- var value, rowClone, pos1, haystack, pos2, needle = [], needleToReplace, i, cc, r;\r
- rowClone = elmnt.cloneNode(true);\r
- pos1 = 0;\r
- while (pos1 > -1) {\r
- haystack = (typ == "attribute") ? rowClone.value : rowClone.innerHTML;\r
- pos1 = haystack.indexOf("{{", pos1);\r
- if (pos1 === -1) {break;}\r
- pos2 = haystack.indexOf("}}", pos1 + 1);\r
- needleToReplace = haystack.substring(pos1 + 2, pos2);\r
- needle = needleToReplace.split("||");\r
- value = undefined;\r
- for (i = 0; i < needle.length; i += 1) {\r
- needle[i] = needle[i].replace(/^\s+|\s+$/gm, ''); //trim\r
- //value = ((x && x[needle[i]]) || (data && data[needle[i]]));\r
- if (x) {value = x[needle[i]];}\r
- if (value == undefined && data) {value = data[needle[i]];}\r
- if (value == undefined) {\r
- cc = needle[i].split(".");\r
- if (cc[0] == repeatX) {value = x[cc[1]]; }\r
- }\r
- if (value == undefined) {\r
- if (needle[i] == repeatX) {value = x;}\r
- }\r
- if (value == undefined) {\r
- if (needle[i].substr(0, 1) == '"') {\r
- value = needle[i].replace(/"/g, "");\r
- } else if (needle[i].substr(0,1) == "'") {\r
- value = needle[i].replace(/'/g, "");\r
- }\r
- }\r
- if (value != undefined) {break;}\r
- }\r
- if (value != undefined) {\r
- r = "{{" + needleToReplace + "}}";\r
- if (typ == "attribute") {\r
- rowClone.value = rowClone.value.replace(r, value);\r
- } else {\r
- w3ReplaceHTML(rowClone, r, value);\r
- }\r
- }\r
- pos1 = pos1 + 1;\r
- }\r
- return rowClone;\r
- }\r
- function w3ReplaceHTML(a, r, result) {\r
- var b, l, i, a, x, j;\r
- if (a.hasAttributes()) {\r
- b = a.attributes;\r
- l = b.length;\r
- for (i = 0; i < l; i += 1) {\r
- if (b[i].value.indexOf(r) > -1) {b[i].value = b[i].value.replace(r, result);}\r
- }\r
- }\r
- x = a.getElementsByTagName("*");\r
- l = x.length;\r
- a.innerHTML = a.innerHTML.replace(r, result);\r
- }\r
-}\r
function w3IncludeHTML() {\r
var z, i, elmnt, file, xhttp;\r
- z = document.getElementsByTagName("*");\r
+ z= document.getElementsByTagName("*");\r
for (i = 0; i < z.length; i++) {\r
elmnt = z[i];\r
file = elmnt.getAttribute("w3-include-html");\r
}\r
}\r
}\r
-function w3Http(target, readyfunc, xml, method) {\r
- var httpObj;\r
- if (!method) {method = "GET"; }\r
- if (window.XMLHttpRequest) {\r
- httpObj = new XMLHttpRequest();\r
- } else if (window.ActiveXObject) {\r
- httpObj = new ActiveXObject("Microsoft.XMLHTTP");\r
- }\r
- if (httpObj) {\r
- if (readyfunc) {httpObj.onreadystatechange = readyfunc;}\r
- httpObj.open(method, target, true);\r
- httpObj.send(xml);\r
- }\r
-}
\ No newline at end of file
/* W3Data ver 1.31 by W3Schools.com */\r
-var w3DataObject = {};\r
-function w3DisplayData(id, data) {\r
- var htmlObj, htmlTemplate, html, arr = [], a, l, rowClone, x, j, i, ii, cc, repeat, repeatObj, repeatX = "";\r
- htmlObj = document.getElementById(id);\r
- htmlTemplate = w3InitTemplate(id, htmlObj);\r
- html = htmlTemplate.cloneNode(true);\r
- arr = w3GetElementsByAttribute(html, "w3-repeat");\r
- l = arr.length;\r
- for (j = (l - 1); j >= 0; j -= 1) {\r
- cc = arr[j].getAttribute("w3-repeat").split(" ");\r
- if (cc.length == 1) {\r
- repeat = cc[0];\r
- } else {\r
- repeatX = cc[0];\r
- repeat = cc[2];\r
- }\r
- arr[j].removeAttribute("w3-repeat");\r
- repeatObj = data[repeat];\r
- if (repeatObj && typeof repeatObj == "object" && repeatObj.length != "undefined") {\r
- i = 0;\r
- for (x in repeatObj) {\r
- i += 1;\r
- rowClone = arr[j];\r
- rowClone = w3NeedleInHaystack(rowClone, "element", repeatX, repeatObj[x]);\r
- a = rowClone.attributes;\r
- for (ii = 0; ii < a.length; ii += 1) {\r
- a[ii].value = w3NeedleInHaystack(a[ii], "attribute", repeatX, repeatObj[x]).value;\r
- }\r
- (i === repeatObj.length) ? arr[j].parentNode.replaceChild(rowClone, arr[j]) : arr[j].parentNode.insertBefore(rowClone, arr[j]);\r
- }\r
- } else {\r
- console.log("w3-repeat must be an array. " + repeat + " is not an array.");\r
- continue;\r
- }\r
- }\r
- html = w3NeedleInHaystack(html, "element");\r
- htmlObj.parentNode.replaceChild(html, htmlObj);\r
- function w3InitTemplate(id, obj) {\r
- var template;\r
- template = obj.cloneNode(true);\r
- if (w3DataObject.hasOwnProperty(id)) {return w3DataObject[id];}\r
- w3DataObject[id] = template;\r
- return template;\r
- }\r
- function w3GetElementsByAttribute(x, att) {\r
- var arr = [], arrCount = -1, i, l, y = x.getElementsByTagName("*"), z = att.toUpperCase();\r
- l = y.length;\r
- for (i = -1; i < l; i += 1) {\r
- if (i == -1) {y[i] = x;}\r
- if (y[i].getAttribute(z) !== null) {arrCount += 1; arr[arrCount] = y[i];}\r
- }\r
- return arr;\r
- }\r
- function w3NeedleInHaystack(elmnt, typ, repeatX, x) {\r
- var value, rowClone, pos1, haystack, pos2, needle = [], needleToReplace, i, cc, r;\r
- rowClone = elmnt.cloneNode(true);\r
- pos1 = 0;\r
- while (pos1 > -1) {\r
- haystack = (typ == "attribute") ? rowClone.value : rowClone.innerHTML;\r
- pos1 = haystack.indexOf("{{", pos1);\r
- if (pos1 === -1) {break;}\r
- pos2 = haystack.indexOf("}}", pos1 + 1);\r
- needleToReplace = haystack.substring(pos1 + 2, pos2);\r
- needle = needleToReplace.split("||");\r
- value = undefined;\r
- for (i = 0; i < needle.length; i += 1) {\r
- needle[i] = needle[i].replace(/^\s+|\s+$/gm, ''); //trim\r
- //value = ((x && x[needle[i]]) || (data && data[needle[i]]));\r
- if (x) {value = x[needle[i]];}\r
- if (value == undefined && data) {value = data[needle[i]];}\r
- if (value == undefined) {\r
- cc = needle[i].split(".");\r
- if (cc[0] == repeatX) {value = x[cc[1]]; }\r
- }\r
- if (value == undefined) {\r
- if (needle[i] == repeatX) {value = x;}\r
- }\r
- if (value == undefined) {\r
- if (needle[i].substr(0, 1) == '"') {\r
- value = needle[i].replace(/"/g, "");\r
- } else if (needle[i].substr(0,1) == "'") {\r
- value = needle[i].replace(/'/g, "");\r
- }\r
- }\r
- if (value != undefined) {break;}\r
- }\r
- if (value != undefined) {\r
- r = "{{" + needleToReplace + "}}";\r
- if (typ == "attribute") {\r
- rowClone.value = rowClone.value.replace(r, value);\r
- } else {\r
- w3ReplaceHTML(rowClone, r, value);\r
- }\r
- }\r
- pos1 = pos1 + 1;\r
- }\r
- return rowClone;\r
- }\r
- function w3ReplaceHTML(a, r, result) {\r
- var b, l, i, a, x, j;\r
- if (a.hasAttributes()) {\r
- b = a.attributes;\r
- l = b.length;\r
- for (i = 0; i < l; i += 1) {\r
- if (b[i].value.indexOf(r) > -1) {b[i].value = b[i].value.replace(r, result);}\r
- }\r
- }\r
- x = a.getElementsByTagName("*");\r
- l = x.length;\r
- a.innerHTML = a.innerHTML.replace(r, result);\r
- }\r
-}\r
function w3IncludeHTML() {\r
var z, i, elmnt, file, xhttp;\r
z = document.getElementsByTagName("*");\r
}\r
}\r
}\r
-function w3Http(target, readyfunc, xml, method) {\r
- var httpObj;\r
- if (!method) {method = "GET"; }\r
- if (window.XMLHttpRequest) {\r
- httpObj = new XMLHttpRequest();\r
- } else if (window.ActiveXObject) {\r
- httpObj = new ActiveXObject("Microsoft.XMLHTTP");\r
- }\r
- if (httpObj) {\r
- if (readyfunc) {httpObj.onreadystatechange = readyfunc;}\r
- httpObj.open(method, target, true);\r
- httpObj.send(xml);\r
- }\r
-}
\ No newline at end of file