onerror = function()
{
if (cb)
cb(false);
};
req.onreadystatechange = function()
{
if (req.readyState == 4)
{
if (replace)
replaceElementWithSource(replace, req.responseText);
Chapter 3: Implementing the Interface
77
(continued)
else
{
var frag = document.createElement(???div???);
frag.innerHTML = req.responseText;
iui.insertPages(frag.childNodes);
}
if (cb)
setTimeout(cb, 1000, true);
}
};
if (args)
{
req.open(method || ???GET???, href, true);
req.setRequestHeader(???Content-Type???, ???application/x-www-formurlencoded???);
req.setRequestHeader(???Content-Length???, args.length);
req.send(args.join(??? & ???));
}
else
{
req.open(method || ???GET???, href, true);
req.send(null);
}
},
insertPages: function(nodes)
{
var targetPage;
for (var i = 0; i < nodes.length; ++i)
{
var child = nodes[i];
if (child.nodeType == 1)
{
if (!child.id)
child.id = ???__??? + (++newPageCount) + ???__???;
var clone = $(child.id);
if (clone)
clone.parentNode.replaceChild(child, clone);
else
document.body.appendChild(child);
if (child.getAttribute(???selected???) == ???true??? || !targetPage)
targetPage = child;
--i;
}
}
if (targetPage)
iui.showPage(targetPage);
},
getSelectedPage: function()
{
for (var child = document.
Pages:
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105