function phpWGOpenWindow(theURL,winName,features) { img = new Image(); img.src = theURL; if (img.complete) { var width=img.width+40, height=img.height+40; } else { var width=640, height=480; img.onload = function () { newWin.resizeTo( img.width+50, img.height+100); }; } newWin = window.open(theURL,winName,features+',left=2,top=1,width=' + width + ',height=' + height); } function popuphelp(url) { window.open( url, 'dc_popup', 'alwaysRaised=yes,dependent=yes,toolbar=no,height=420,width=500,menubar=no,resizable=yes,scrollbars=yes,status=no' ); } Function.prototype.pwgBind = function() { var __method = this, object = arguments[0], args = Array.prototype.slice.call(arguments,1); return function() { return __method.apply(object, args.concat(arguments) ); } } function PwgWS(urlRoot) { this.urlRoot = urlRoot; this.options = { method: "GET", async: true, onFailure: null, onSuccess: null }; }; PwgWS.prototype = { callService : function(method, parameters, options) { if (options) { for (var property in options) this.options[property] = options[property]; } try { this.transport = new XMLHttpRequest();} catch(e) { try { this.transport = new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) { try { this.transport = new ActiveXObject('Microsoft.XMLHTTP'); } catch (e){ dispatchError(0, "Cannot create request object"); } } } this.transport.onreadystatechange = this.onStateChange.pwgBind(this); var url = this.urlRoot+"ws.php?format=json"; var body = "method="+method; if (parameters) { for (var property in parameters) { if ( typeof parameters[property] == 'object' && parameters[property]) { for (var i=0; i