//some code based on ideas from Apple developer code (developer.apple.com) and nevow 0.4.1 (www.nevow.org) // refactoring of existing ajax functionality to allow server-initiated data to be processed client side // and to prevent server timeouts function createRequest() { var req; if (window.XMLHttpRequest) { req = new XMLHttpRequest(); } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); } return req; } function openConnection(req,url) { if (req) { req.onreadystatechange = function() { if (req.readyState==4) { if (req.status == 200) { try { eval(req.responseText); } catch (e) { ; //ignore errors } } } }; req.open("GET", url, true); req.send(null); } } //generic ajax call function generic_ajax(pre_action,func) { if (pre_action) { eval(pre_action); } var additionalArguments = '' for (i = 2; i