declarePackage("ccs"); ccs.User = function() { var self; var called = false; var calling = false; var callbackFunctions = new Array(); // constructor function function constructorFn() { self = this; } constructorFn.prototype.loadUserData = function(callbackFunction) { var originalArguments = arguments if (called) { callbackFunction.apply(this, originalArguments); return; } if (calling) { callbackFunctions.push({functionName: callbackFunction, arguments : originalArguments}); return; } calling = true; new Ajax.Request(ccs.contextPath + "/json/" + ccs.appName + "/" + ccs.languageCode + "/content/user/load_user_data.json", { method:'post', onSuccess: function(transport) { var res = transport.responseText.evalJSON(); ccs.user.isAnonymous = res.isAnonymous; ccs.user.userId = res.userId; ccs.user.isLoggedIn = res.loggedIntoCCS; ccs.user.emailAddress = res.emailAddress; callbackFunction.apply(this, originalArguments); called = true; calling = false; //loop through callblack function..and call them for (var i=0; i