Witam,
mam kod pisany z użyciem mootools:
  1. var Cache = new Class({
  2. items: new Array(),
  3. add: function(id, obj) {
  4. this.items[id] = obj;
  5. },
  6. get: function(id) {
  7. return this.items[id] ? this.items[id] : false;
  8. }
  9. });
  10.  
  11. var Cache_Data = Cache.extend();
  12. var Cache_Template = Cache.extend();
  13.  
  14. var Loader = new Class({
  15. initialize: function() {
  16. this.templates = new Cache_Template();
  17. this.datas = new Cache_Data();
  18. this.counter = 0;
  19.  
  20. trace("Loader initialize");
  21. },
  22. load: function(data, template) {
  23. var ch = new Chain();
  24.  
  25. ch.chain(function(){
  26. new XHR({
  27. onSuccess: function(){
  28. var content = this.response.text;
  29. content = content.replace(/id="([a-z0-9]*)"/g, "id=\"$1[" + this.counter + "]\""); // tutaj
  30. $("content").innerHTML = content;
  31. }
  32. }).send(template + ".php");
  33. }).chain(function(){
  34. new Json.Remote(data + ".php",{
  35. onComplete: function(response){
  36. for (var i in response) {
  37. $(i + "[" + this.counter + "]").innerHTML = response; // no i tutaj
  38. }
  39. }
  40. }).send();
  41. });
  42.  
  43. var timer = (function() {
  44. (ch.chains.length == 0) ? $clear(timer) : ch.callChain();
  45. }).periodical(1);
  46.  
  47. this.counter++;
  48. }
  49. });

Nie mam koncepcji w jaki sposób odwołać się do składowej [i]counter
z klasy Loader. Późniejszym problemem będzie również odwołanie się do składowej templates oraz datas - domyślam się, że najlepiej byłoby to zrobić za pomocą singletona ale wszelkie kody jakie znalazłem nt. singeltona w JS nie działają tongue.gif po prostu nie do końca łapę o co tam chodzi hehe.

Prosiłbym więc o naprowadzenie mnie na to jak zrobić aby składowe klasy Loader były widoczne oraz dostępne w wywołaniach XHR.

Dzięki za pomoc,
pion.