in site/js/ponymail.js [1638:1690]
function displayEmailThreaded(json, state, threadobj) {
var level = state.level ? state.level : 1
var b = state.before
var cobj = document.getElementById("thread_" + b.toString().replace(/@<.+>/, ""))
var obj = (threadobj && (typeof threadobj).match(/object/i)) ? threadobj : ((cobj && (typeof cobj).match(/object/i)) ? cobj : document.getElementById("thread_" + state.main))
if (!json.mid && !json.tid) {
if (obj) {
obj.innerHTML = "<h2>404!</h2><p>Sorry, we couldn't find this email :("
}
return
}
if (state.main == json.mid || state.main == json.tid) {
return
}
saved_emails[json.mid] = json
if (obj) {
var eobj = document.getElementById("thread_" + (json.mid ? json.mid : json.tid).toString().replace(/@<.+>/, ""))
var node = eobj ? eobj : document.createElement('div')
node.setAttribute("epoch", json.epoch.toString())
node.style.marginBottom = "20px";
node.setAttribute("id", "thread_" + (json.mid ? json.mid : json.tid).toString().replace(/@<.+>/, ""))
node.style.display = "block" // hack so openEmail will state that there's an email open.
if (json.mid != b) {
if (state.pchild && document.getElementById("thread_" + state.pchild.toString().replace(/@<.+>/, ""))) {
var pc = document.getElementById("thread_" + state.pchild.toString().replace(/@<.+>/, ""))
try {
if (prefs.sortOrder == 'forward') {
obj.insertAfter(pc, node)
} else {
obj.insertBefore(pc, node)
}
} catch (e) {
obj.appendChild(node)
}
} else {
if (prefs.sortOrder == 'forward') {
obj.appendChild(node)
} else {
obj.insertBefore(node, obj.firstChild)
}
}
displayEmail(json, (json.tid ? json.tid : json.mid), level)
} else {
document.getElementById("thread_" + state.main).appendChild(node)
}
if (state.child && state.child.children && state.child.children.length > 0) {
getChildren(state.main, state.child, level, node)
}
} else {
alert("Could not find parent object, thread_" + state.main)
}
}