michael@0: function setAllDir(value) michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: try { michael@0: theElement = document.getElementById("set" + i); michael@0: theElement.dir = value; michael@0: } catch(e) { michael@0: break; michael@0: } michael@0: } michael@0: } michael@0: michael@0: function setAllDirAttribute(value) michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: try { michael@0: theElement = document.getElementById("set" + i); michael@0: theElement.setAttribute("dir", value); michael@0: } catch(e) { michael@0: break; michael@0: } michael@0: } michael@0: } michael@0: michael@0: function removeAllDirAttribute() michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: try { michael@0: theElement = document.getElementById("set" + i); michael@0: theElement.removeAttribute("dir"); michael@0: } catch(e) { michael@0: break; michael@0: } michael@0: } michael@0: } michael@0: michael@0: function addOneElement(innerHTML) michael@0: { michael@0: var container = document.getElementById("container"); michael@0: var elem = document.createElement("div"); michael@0: elem.innerHTML = innerHTML; michael@0: container.appendChild(elem); michael@0: } michael@0: michael@0: function addLTRAutoElements() michael@0: { michael@0: addOneElement(''); michael@0: addOneElement('ABC אבג'); michael@0: addOneElement(''); michael@0: addOneElement(''); michael@0: addOneElement('ABC אבג'); michael@0: } michael@0: michael@0: function addRTLAutoElements() michael@0: { michael@0: addOneElement(''); michael@0: addOneElement('אבג ABC'); michael@0: addOneElement(''); michael@0: addOneElement(''); michael@0: addOneElement('אבג ABC'); michael@0: } michael@0: michael@0: function setAllTextValuesTo(newText) michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: theElement = document.getElementById("set" + i); michael@0: if (!theElement) { michael@0: break; michael@0: } michael@0: if (theElement.tagName == "INPUT" || michael@0: theElement.tagName == "TEXTAREA") { michael@0: theElement.value = newText; michael@0: } else { michael@0: theElement.firstChild.textContent = newText; michael@0: } michael@0: } michael@0: } michael@0: michael@0: function setAllTextDefaultValuesTo(newText) michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: theElement = document.getElementById("set" + i); michael@0: if (!theElement) { michael@0: break; michael@0: } michael@0: if (theElement.tagName == "INPUT" || michael@0: theElement.tagName == "TEXTAREA") { michael@0: theElement.defaultValue = newText; michael@0: } else { michael@0: theElement.firstChild.textContent = newText; michael@0: } michael@0: } michael@0: } michael@0: michael@0: function setAllTextChildrenTo(newText) michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: theElement = document.getElementById("set" + i); michael@0: if (!theElement) { michael@0: break; michael@0: } michael@0: if (theElement.tagName == "INPUT") { michael@0: theElement.value = newText; michael@0: } else { michael@0: theElement.firstChild.textContent = newText; michael@0: } michael@0: } michael@0: } michael@0: michael@0: function appendTextFromArray(textArray) michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: theElement = document.getElementById("set" + i); michael@0: if (!theElement) { michael@0: break; michael@0: } michael@0: for (var j = 0; j < textArray.length; ++j) { michael@0: if (theElement.tagName == "INPUT") { michael@0: theElement.value += textArray[j]; michael@0: } else { michael@0: var textNode = document.createTextNode(textArray[j]); michael@0: theElement.appendChild(textNode); michael@0: } michael@0: } michael@0: } michael@0: } michael@0: michael@0: function appendSpansFromArray(textArray) michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: theElement = document.getElementById("set" + i); michael@0: if (!theElement) { michael@0: break; michael@0: } michael@0: for (var j = 0; j < textArray.length; ++j) { michael@0: // fake the result for elements that can't have markup content michael@0: if (theElement.tagName == "INPUT") { michael@0: theElement.value += textArray[j]; michael@0: } else if (theElement.tagName == "TEXTAREA") { michael@0: theElement.innerHTML += textArray[j]; michael@0: } else { michael@0: var span = document.createElement("span"); michael@0: span.innerHTML = textArray[j]; michael@0: theElement.appendChild(span); michael@0: } michael@0: } michael@0: } michael@0: } michael@0: michael@0: function prependTextFromArray(textArray) michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: theElement = document.getElementById("set" + i); michael@0: if (!theElement) { michael@0: break; michael@0: } michael@0: for (var j = 0; j < textArray.length; ++j) { michael@0: if (theElement.tagName == "INPUT") { michael@0: theElement.value = textArray[j] + theElement.value; michael@0: } else { michael@0: var textNode = document.createTextNode(textArray[j]); michael@0: theElement.insertBefore(textNode, theElement.firstChild); michael@0: } michael@0: } michael@0: } michael@0: } michael@0: michael@0: function prependSpansFromArray(textArray) michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: theElement = document.getElementById("set" + i); michael@0: if (!theElement) { michael@0: break; michael@0: } michael@0: for (var j = 0; j < textArray.length; ++j) { michael@0: // fake the result for elements that can't have markup content michael@0: if (theElement.tagName == "INPUT") { michael@0: theElement.value = textArray[j] + theElement.value; michael@0: } else if (theElement.tagName == "TEXTAREA") { michael@0: theElement.innerHTML = textArray[j] + theElement.innerHTML; michael@0: } else { michael@0: var span = document.createElement("span"); michael@0: span.innerHTML = textArray[j]; michael@0: theElement.insertBefore(span, theElement.firstChild); michael@0: } michael@0: } michael@0: } michael@0: } michael@0: michael@0: function removeElements() michael@0: { michael@0: for (var i = 0; ; ++i) { michael@0: theElement = document.getElementById("set" + i); michael@0: if (!theElement) { michael@0: break; michael@0: } michael@0: theElement.parentNode.removeChild(theElement); michael@0: } michael@0: }