Well, can't reproduce this without a page were the script is included.

Alex

On 18 Jul., 16:50, meatball <[email protected]> wrote:
> Runs on v1.2 and above but has a memory leak that I can't find.
>
> var Comments = new Class({
>
>         id: 0,
>         page: 0,
>         object: null,
>         name: null,
>         parentid: 0,
>         folder: './',
>
>         initialize: function(id, object, name, folder){
>                 // Setup
>                 this.id = id;
>                 this.object = object;
>                 this.name = name;
>                 this.folder = folder;
>                 // Get the comments for this page
>                 this.getComments(this.page);
>         },
>
>         flag: function(id) {
>                 var req = new Request({
>                         method: 'get',
>                         url: this.folder + 'backend.php',
>                         onSuccess: function(text, xml) {
>                         }
>                 }).send('do=flag&id=' + id + this.cacheDefeat());
>         },
>
>         openFlagged: function(obj, id) {
>                 var obj = obj;
>                 var req = new Request({
>                         method: 'get',
>                         url: this.folder + 'backend.php',
>                         onSuccess: function(text, xml) {
>                                 new Element('div', {'html': 
> text}).inject(obj, 'after');
>                                 obj.destroy();
>                         }
>                 }).send('do=getcomment&post=' + id + '&id=' + this.id +
> this.cacheDefeat());
>         },
>
>         cacheDefeat: function() {
>                 var myDate = new Date();
>                 return '&r=' + myDate.getTime();
>         },
>
>         checkTitle: function() {
>                 var form = $(this.name + 
> 'form').getChildren('div')[0].getChildren
> ('form')[0].each(function (ele) {
>                         if (ele.name == 'title' && ele.value == 'Title Here') 
> {
>                                 ele.set('value', '');
>                         }
>                 });
>         },
>
>         clearText: function(object) {
>                 if (object.name == 'title' || object.name == 'message') {
>                         if (object.value == 'Title Here' || object.value == 
> 'Message Here')
> {
>                                 object.value = '';
>                         }
>                 }
>         },
>
>         setReply: function(id) {
>                 this.parentid = id;
>         },
>
>         thumbsUp: function(id) {
>                 var a = this;
>                 var req = new Request({
>                         method: 'get',
>                         url: this.folder + 'backend.php',
>                         onSuccess: function(text, xml) {
>                                 a.updateThumbs(id);
>                         }
>                 }).send('do=thumbs&id=' + id + '&up=true' + 
> this.cacheDefeat());
>         },
>
>         thumbsDown: function(id) {
>                 var a = this;
>                 var req = new Request({
>                         method: 'get',
>                         url: this.folder + 'backend.php',
>                         onSuccess: function(text, xml) {
>                                 if (text == "done")
>                                         a.updateThumbs(id);
>                         }
>                 }).send('do=thumbs&id=' + id + '&up=false' + 
> this.cacheDefeat());
>         },
>
>         updateThumbs: function(messageid) {
>                 var up = $(this.name + 'up' + messageid);
>                 var down = $(this.name + 'down' + messageid);
>                 var upndown = $(this.name + 'updown' + messageid);
>                 var req = new Request({
>                         method: 'get',
>                         url: this.folder + 'backend.php',
>                         onSuccess: function(text, xml) {
>                                 var updown = text.split(";");
>                                 if (up != null)
>                                         up.set('html', updown[0]);
>                                 if (down != null)
>                                         down.set('html', updown[1]);
>                                 if (updown != null)
>                                         upndown.set('html', updown[2]);
>                         }
>                 }).send('do=getthumbs&id=' + messageid + this.cacheDefeat());
>         },
>
>         respond: function() {
>                 var a = this;
>                 var toReplace = $$("div." + this.name + "forms")[0];
>                 var req = new Request({
>                         method: 'post',
>                         url: this.folder + 'backend.php',
>                         onSuccess: function(text, xml) {
>                                 if (text == "") {
>                                         a.getComments(a.page);
>                                 } else {
>                                         
> form.getChildren('div')[0].setStyle('display', 'block');
>                                         
> form.getChildren('div')[0].set('html', text);
>                                 }
>                                 a.insertReply();
>                         }
>                 }).send('do=write&id=' + this.id + '&parentid=' + 
> this.parentid +
> '&message=' + $(this.name + "formsmessage").value.replace(/&/g,"%26")+
> '&title=' + $(this.name + "formstitle").value.replace(/&/g,"%26") +
> this.cacheDefeat());
>         },
>
>         insertReply: function(mid) {
>                 var name = this.name;
>                 var mid = mid;
>                 this.parentid = mid;
>                 var req = new Request({
>                         method: 'get',
>                         url: this.folder + 'backend.php',
>                         onSuccess: function(text, xml) {
>                                 $$("div." + name + "forms").each(function 
> (ele) {
>                                         ele.set('html', '');
>                                 });
>                                 $(name + 'form').set('html', '');
>                                 if (mid == null)
>                                         $(name + 'form').set('html', text);
>                                 else
>                                         $(name + 'form' + mid).set('html', 
> text);
>                         }
>                 }).send('objid=' + name + '&do=getform&id=' + this.id +
> this.cacheDefeat());
>         },
>
>         getComments: function(page) {
>                 this.page = page;
>                 var object = this.object;
>                 var req = new Request({
>                         method: 'get',
>                         url: this.folder + 'backend.php',
>                         onSuccess: function(text, xml) {
>                                 object.set('html', text);
>                         }
>                 }).send('objid=' + this.name + '&do=read&thumbs=' + 
> $(this.name +
> "sel").value + '&id=' + this.id + '&page=' + this.page +
> this.cacheDefeat());
>         },
>
>         showComments: function(id, object) {
>                 var req = new Request({
>                         method: 'get',
>                         url: this.folder + 'backend.php',
>                         onSuccess: function(text, xml) {
>                                 new Element('div', {
>                                         'html': text
>                                 }).inject($(object), 'after');
>                                 $(object).destroy();
>                         }
>                 }).send('objid=' + this.name + '&do=comments&id=' + this.id +
> '&pid=' + id + this.cacheDefeat());
>         }
>
> });

Reply via email to