rendered paste bodyfunction etoa(e) { result = ''; if (e.Emode == 0) { result = etoa(e.sides[0])+' '+e.sign+' '+etoa(e.sides[1]); } else if (e.iscomplex) { result = '('+etoa(e.value[0])+' '+e.value[1]+' '+etoa(e.value[2])+')'; } else { if (e.unit) { if (e.value == '1' || e.value == 1) { result = e.unit; } else { result = e.value+e.unit; } } else { result = e.value+e.unit; } } return result;}// works, output://// ((a * x) + b) = 0function etohtml(e) { result = ''; if (e.Emode == 0) { result = '<span class="equation">'+etohtml(e.sides[0])+' '+e.sign+' '+etohtml(e.sides[1])+'</span>'; } else if (e.iscomplex) { result = '<span class="led">'+etohtml(e.value[0])+' '+e.value[1]+' '+etohtml(e.value[2])+'</span>'; } else { result = '<span class="number">'+etoa(e)+'</span>'; } return result;}// this one works - output:// <span class="equation"><span class="led"><span class="led"><span class="number">a</span> * <span class="number">x</span></span> + <span class="number">b</span></span> = <span class="number">0</span></span>function etodom(e) { if (e.Emode == 0) { result = document.createElement('span'); try {result.className = 'equation';} catch (err) {result.class = 'equation';} result.appendChild(etodom(e.sides[0])); result.appendChild(document.createTextNode(' '+e.sign+' ')); result.appendChild(etodom(e.sides[1])); } else if (e.iscomplex) { result = document.createElement('span'); try {result.className = 'led';} catch (err) {result.class = 'led';} result.appendChild(etodom(e.value[0])); // Error here: // uncaught exception: [Exception... "Could not convert JavaScript // argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: // "JS frame :: file:///H:/home/work/equations.html :: etodom :: line 124" data: no] result.appendChild(document.createTextNode(' '+e.value[1]+' ')); result.appendChild(etodom(e.value[2])); } else { result = document.createElement('span'); try {result.className = 'number';} catch (err) {result.class = 'number';} result.appendChild(document.createTextNode(etoa(e))); } return result;}