1
var woven_eventQueue = []
2
woven_eventQueueBusy = 0
3
woven_clientSideEventNum = 0
4
woven_requestingEvent = 0
6
function woven_eventHandler(eventName, node) {
7
var eventTarget = node.getAttribute('id')
8
var additionalArguments = ''
9
for (i = 2; i<arguments.length; i++) {
10
additionalArguments += '&woven_clientSideEventArguments='
11
additionalArguments += escape(eval(arguments[i]))
13
var source = '?woven_clientSideEventName=' + eventName + '&woven_clientSideEventTarget=' + eventTarget + additionalArguments + '&woven_clientSideEventNum=' + woven_clientSideEventNum
14
woven_clientSideEventNum += 1
16
woven_eventQueue.unshift(source)
17
if (!woven_eventQueueBusy) {
23
function woven_sendTopEvent() {
24
woven_eventQueueBusy = 1
25
var url = woven_eventQueue.shift()
26
var input = document.getElementById('woven_inputConduit')
31
function woven_requestNextEvent() {
32
var output = document.getElementById('woven_outputConduit')
34
if (output) { output.src = '?woven_hookupOutputConduitToThisFrame=1&woven_clientSideEventNum=' + woven_clientSideEventNum.toString()}
37
function woven_clientToServerEventComplete() {
38
woven_requestNextEvent()
40
if (woven_eventQueue.length) {
43
woven_eventQueueBusy = 0
45
var focus = document.getElementById('woven_firstResponder')
49
function woven_attemptFocus(theNode) {
50
// focus the first input element in the new node
51
if (theNode.tagName == 'INPUT') {
55
/* for (i=0; i<theNode.childNodes.length; i++) { */
56
/* if(woven_attemptFocus(theNode.childNodes[i])) { */
64
function woven_replaceElement(theId, htmlStr) {
66
var oldNode = document.getElementById(theId)
67
var newNode = document.createElement('span')
68
newNode.innerHTML = htmlStr
69
oldNode.parentNode.replaceChild(newNode.firstChild, oldNode)
70
//woven_attemptFocus(newNode)
71
woven_requestNextEvent()
75
function woven_appendChild(theId, htmlStr) {
76
woven_requestNextEvent()
78
var container = document.getElementById(theId)
79
var newNode = document.createElement('span')
80
newNode.innerHTML = htmlStr
81
container.appendChild(newNode.firstChild)