JsonWebServicesStub = {
requestCounter : 0,

responseCallbacks : [],

headElem : document.getElementsByTagName('head').item(0),

invoke : function (url, callback, callbackParam, caching) {
			var callbackParam = callbackParam || 'callback';
		    var script = document.createElement('script');
		    var index = JsonWebServicesStub.requestCounter++;
		    JsonWebServicesStub.responseCallbacks['_'+index] = function() {
				delete JsonWebServicesStub.responseCallbacks['_'+index];
			    if (arguments.length==1) {
			    	callback(arguments[0]);
				} else {
				    var arry = [];
				    for (var i=0; i<arguments.length; i++) 
						arry[arry.length] = arguments[i];
					callback(arry);
				}
				// script.parentNode.removeChild(script);
			}
		    var callUrl = url.indexOf('?') > 0 ? url+'&' : url+'?';
		    callUrl += callbackParam+'='+escape('JsonWebServicesStub.responseCallbacks._'+index);
			
			if (!caching) callUrl += '&rand='+Math.random();
			script.src = callUrl;
		    script.type = 'text/javascript';
		    script.charset = 'euc-kr';
		    JsonWebServicesStub.headElem.appendChild(script);
		}
};
