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: }