Ajax Talk - Asynchronous javascript and xml discussion board
 FAQ   Search    Usergroups      Register   Profile   Check your messages   Log in 
Signup now to enjoy a range of free membership advantages !!
Ajax Talk - Moderators Wanted
Ajax Update

 
Post new topic   Reply to topic    Ajaxtalk.com Forum Index -> AJAX Help
View previous topic :: View next topic  
Author Message
unidox
New one
New one


Joined: 21 Nov 2007
Posts: 2

PostPosted: Sat Nov 24, 2007 7:43 pm    Post subject: Ajax Update Reply with quote

I am using mootools and greybox.
Code:

GreyBox: http://orangoo.com/labs/GreyBox/
Mootools: http://www.mootools.net/


Greybox Code:

Code:
var GB_CURRENT=null;
GB_hide=function(cb){
GB_CURRENT.hide(cb);
};
GreyBox=new AJS.Class({init:function(_2){
this.use_fx=AJS.fx;
this.type="page";
this.overlay_click_close=false;
this.salt=0;
this.root_dir=GB_ROOT_DIR;
this.callback_fns=[];
this.reload_on_close=false;
this.src_loader=this.root_dir+"loader_frame.html";
var _3=window.location.hostname.indexOf("www");
var _4=this.src_loader.indexOf("www");
if(_3!=-1&&_4==-1){
this.src_loader=this.src_loader.replace("://","://www.");
}
if(_3==-1&&_4!=-1){
this.src_loader=this.src_loader.replace("://www.","://");
}
this.show_loading=true;
AJS.update(this,_2);
},addCallback:function(fn){
if(fn){
this.callback_fns.push(fn);
}
},show:function(_6){
GB_CURRENT=this;
this.url=_6;
var _7=[AJS.$bytc("object"),AJS.$bytc("select")];
AJS.map(AJS.flattenList(_7),function(_8){
_8.style.visibility="hidden";
});
this.createElements();
return false;
},hide:function(cb){
var me=this;
AJS.callLater(function(){
var _b=me.callback_fns;
if(_b!=[]){
AJS.map(_b,function(fn){
fn();
});
}
me.onHide();
if(me.use_fx){
var _d=me.overlay;
AJS.fx.fadeOut(me.overlay,{onComplete:function(){
AJS.removeElement(_d);
_d=null;
},duration:300});
AJS.removeElement(me.g_window);
}else{
AJS.removeElement(me.g_window,me.overlay);
}
me.removeFrame();
AJS.REV(window,"scroll",_GB_setOverlayDimension);
AJS.REV(window,"resize",_GB_update);
var _e=[AJS.$bytc("object"),AJS.$bytc("select")];
AJS.map(AJS.flattenList(_e),function(_f){
_f.style.visibility="visible";
});
GB_CURRENT=null;
if(me.reload_on_close){
window.location.reload();
}
if(AJS.isFunction(cb)){
cb();
}
},10);
},update:function(){
this.setOverlayDimension();
this.setFrameSize();
this.setWindowPosition();
},createElements:function(){
this.initOverlay();
this.g_window=AJS.DIV({"id":"GB_window"});
AJS.hideElement(this.g_window);
AJS.getBody().insertBefore(this.g_window,this.overlay.nextSibling);
this.initFrame();
this.initHook();
this.update();
var me=this;
if(this.use_fx){
AJS.fx.fadeIn(this.overlay,{duration:300,to:0.7,onComplete:function(){
me.onShow();
AJS.showElement(me.g_window);
me.startLoading();
}});
}else{
AJS.setOpacity(this.overlay,0.7);
AJS.showElement(this.g_window);
this.onShow();
this.startLoading();
}
AJS.AEV(window,"scroll",_GB_setOverlayDimension);
AJS.AEV(window,"resize",_GB_update);
},removeFrame:function(){
try{
AJS.removeElement(this.iframe);
}
catch(e){
}
this.iframe=null;
},startLoading:function(){
this.iframe.src=this.src_loader+"?s="+this.salt++;
AJS.showElement(this.iframe);
},setOverlayDimension:function(){
var _11=AJS.getWindowSize();
if(AJS.isMozilla()||AJS.isOpera()){
AJS.setWidth(this.overlay,"100%");
}else{
AJS.setWidth(this.overlay,_11.w);
}
var _12=Math.max(AJS.getScrollTop()+_11.h,AJS.getScrollTop()+this.height);
if(_12<AJS.getScrollTop()){
AJS.setHeight(this.overlay,_12);
}else{
AJS.setHeight(this.overlay,AJS.getScrollTop()+_11.h);
}
},initOverlay:function(){
this.overlay=AJS.DIV({"id":"GB_overlay"});
if(this.overlay_click_close){
AJS.AEV(this.overlay,"click",GB_hide);
}
AJS.setOpacity(this.overlay,0);
AJS.getBody().insertBefore(this.overlay,AJS.getBody().firstChild);
},initFrame:function(){
if(!this.iframe){
var d={"name":"GB_frame","class":"GB_frame","frameBorder":0,src:"javascript:false;document.write(\"\");"};
this.iframe=AJS.IFRAME(d);
this.middle_cnt=AJS.DIV({"class":"content"},this.iframe);
this.top_cnt=AJS.DIV();
this.bottom_cnt=AJS.DIV();
AJS.ACN(this.g_window,this.top_cnt,this.middle_cnt,this.bottom_cnt);
}
},onHide:function(){
},onShow:function(){
},setFrameSize:function(){
},setWindowPosition:function(){
},initHook:function(){
}});
_GB_update=function(){
if(GB_CURRENT){
GB_CURRENT.update();
}
};
_GB_setOverlayDimension=function(){
if(GB_CURRENT){
GB_CURRENT.setOverlayDimension();
}
};
AJS.preloadImages(GB_ROOT_DIR+"indicator.gif");
script_loaded=true;
var GB_SETS={};
function decoGreyboxLinks(){
var as=AJS.$bytc("a");
AJS.map(as,function(a){
if(a.getAttribute("href")&&a.getAttribute("rel")){
var rel=a.getAttribute("rel");
if(rel.indexOf("gb_")==0){
var _17=rel.match(/\w+/)[0];
var _18=rel.match(/\[(.*)\]/)[1];
var _19=0;
var _1a={"caption":a.title||"","url":a.href};
if(_17=="gb_pageset"||_17=="gb_imageset"){
if(!GB_SETS[_18]){
GB_SETS[_18]=[];
}
GB_SETS[_18].push(_1a);
_19=GB_SETS[_18].length;
}
if(_17=="gb_pageset"){
a.onclick=function(){
GB_showFullScreenSet(GB_SETS[_18],_19);
return false;
};
}
if(_17=="gb_imageset"){
a.onclick=function(){
GB_showImageSet(GB_SETS[_18],_19);
return false;
};
}
if(_17=="gb_image"){
a.onclick=function(){
GB_showImage(_1a.caption,_1a.url);
return false;
};
}
if(_17=="gb_page"){
a.onclick=function(){
var sp=_18.split(/, ?/);
GB_show(_1a.caption,_1a.url,parseInt(sp[1]),parseInt(sp[0]));
return false;
};
}
if(_17=="gb_page_fs"){
a.onclick=function(){
GB_showFullScreen(_1a.caption,_1a.url);
return false;
};
}
if(_17=="gb_page_center"){
a.onclick=function(){
var sp=_18.split(/, ?/);
GB_showCenter(_1a.caption,_1a.url,parseInt(sp[1]),parseInt(sp[0]));
return false;
};
}
}
}
});
}
AJS.AEV(window,"load",decoGreyboxLinks);
GB_showImage=function(_1d,url,_1f){
var _20={width:300,height:300,type:"image",fullscreen:false,center_win:true,caption:_1d,callback_fn:_1f};
var win=new GB_Gallery(_20);
return win.show(url);
};
GB_showPage=function(_22,url,_24){
var _25={type:"page",caption:_22,callback_fn:_24,fullscreen:true,center_win:false};
var win=new GB_Gallery(_25);
return win.show(url);
};
GB_Gallery=GreyBox.extend({init:function(_27){
this.parent({});
this.img_close=this.root_dir+"g_close.gif";
AJS.update(this,_27);
this.addCallback(this.callback_fn);
},initHook:function(){
AJS.addClass(this.g_window,"GB_Gallery");
var _28=AJS.DIV({"class":"inner"});
this.header=AJS.DIV({"class":"GB_header"},_28);
AJS.setOpacity(this.header,0);
AJS.getBody().insertBefore(this.header,this.overlay.nextSibling);
var _29=AJS.TD({"id":"GB_caption","class":"caption","width":"40%"},this.caption);
var _2a=AJS.TD({"id":"GB_middle","class":"middle","width":"20%"});
var _2b=AJS.IMG({"src":this.img_close});
AJS.AEV(_2b,"click",GB_hide);
var _2c=AJS.TD({"class":"close","width":"40%"},_2b);
var _2d=AJS.TBODY(AJS.TR(_29,_2a,_2c));
var _2e=AJS.TABLE({"cellspacing":"0","cellpadding":0,"border":0},_2d);
AJS.ACN(_28,_2e);
if(this.fullscreen){
AJS.AEV(window,"scroll",AJS.$b(this.setWindowPosition,this));
}else{
AJS.AEV(window,"scroll",AJS.$b(this._setHeaderPos,this));
}
},setFrameSize:function(){
var _2f=this.overlay.offsetWidth;
var _30=AJS.getWindowSize();
if(this.fullscreen){
this.width=_2f-40;
this.height=_30.h-80;
}
AJS.setWidth(this.iframe,this.width);
AJS.setHeight(this.iframe,this.height);
AJS.setWidth(this.header,_2f);
},_setHeaderPos:function(){
AJS.setTop(this.header,AJS.getScrollTop()+10);
},setWindowPosition:function(){
var _31=this.overlay.offsetWidth;
var _32=AJS.getWindowSize();
AJS.setLeft(this.g_window,((_31-50-this.width)/2));
var _33=AJS.getScrollTop()+55;
if(!this.center_win){
AJS.setTop(this.g_window,_33);
}else{
var fl=((_32.h-this.height)/2)+20+AJS.getScrollTop();
if(fl<0){
fl=0;
}
if(_33>fl){
fl=_33;
}
AJS.setTop(this.g_window,fl);
}
this._setHeaderPos();
},onHide:function(){
AJS.removeElement(this.header);
AJS.removeClass(this.g_window,"GB_Gallery");
},onShow:function(){
if(this.use_fx){
AJS.fx.fadeIn(this.header,{to:1});
}else{
AJS.setOpacity(this.header,1);
}
}});
AJS.preloadImages(GB_ROOT_DIR+"g_close.gif");
GB_showFullScreenSet=function(set,_36,_37){
var _38={type:"page",fullscreen:true,center_win:false};
var _39=new GB_Sets(_38,set);
_39.addCallback(_37);
_39.showSet(_36-1);
return false;
};
GB_showImageSet=function(set,_3b,_3c){
var _3d={type:"image",fullscreen:false,center_win:true,width:300,height:300};
var _3e=new GB_Sets(_3d,set);
_3e.addCallback(_3c);
_3e.showSet(_3b-1);
return false;
};
GB_Sets=GB_Gallery.extend({init:function(_3f,set){
this.parent(_3f);
if(!this.img_next){
this.img_next=this.root_dir+"next.gif";
}
if(!this.img_prev){
this.img_prev=this.root_dir+"prev.gif";
}
this.current_set=set;
},showSet:function(_41){
this.current_index=_41;
var _42=this.current_set[this.current_index];
this.show(_42.url);
this._setCaption(_42.caption);
this.btn_prev=AJS.IMG({"class":"left",src:this.img_prev});
this.btn_next=AJS.IMG({"class":"right",src:this.img_next});
AJS.AEV(this.btn_prev,"click",AJS.$b(this.switchPrev,this));
AJS.AEV(this.btn_next,"click",AJS.$b(this.switchNext,this));
GB_STATUS=AJS.SPAN({"class":"GB_navStatus"});
AJS.ACN(AJS.$("GB_middle"),this.btn_prev,GB_STATUS,this.btn_next);
this.updateStatus();
},updateStatus:function(){
AJS.setHTML(GB_STATUS,(this.current_index+1)+" / "+this.current_set.length);
if(this.current_index==0){
AJS.addClass(this.btn_prev,"disabled");
}else{
AJS.removeClass(this.btn_prev,"disabled");
}
if(this.current_index==this.current_set.length-1){
AJS.addClass(this.btn_next,"disabled");
}else{
AJS.removeClass(this.btn_next,"disabled");
}
},_setCaption:function(_43){
AJS.setHTML(AJS.$("GB_caption"),_43);
},updateFrame:function(){
var _44=this.current_set[this.current_index];
this._setCaption(_44.caption);
this.url=_44.url;
this.startLoading();
},switchPrev:function(){
if(this.current_index!=0){
this.current_index--;
this.updateFrame();
this.updateStatus();
}
},switchNext:function(){
if(this.current_index!=this.current_set.length-1){
this.current_index++;
this.updateFrame();
this.updateStatus();
}
}});
AJS.AEV(window,"load",function(){
AJS.preloadImages(GB_ROOT_DIR+"next.gif",GB_ROOT_DIR+"prev.gif");
});
GB_show=function(_45,url,_47,_48,_49){
var _4a={caption:_45,height:_47||500,width:_48||500,fullscreen:false,callback_fn:_49};
var win=new GB_Window(_4a);
return win.show(url);
};
GB_showCenter=function(_4c,url,_4e,_4f,_50){
var _51={caption:_4c,center_win:true,height:_4e||500,width:_4f||500,fullscreen:false,callback_fn:_50};
var win=new GB_Window(_51);
return win.show(url);
};
GB_showFullScreen=function(_53,url,_55){
var _56={caption:_53,fullscreen:true,callback_fn:_55};
var win=new GB_Window(_56);
return win.show(url);
};
GB_Window=GreyBox.extend({init:function(_58){
this.parent({});
this.img_header=this.root_dir+"header_bg.gif";
this.img_close=this.root_dir+"w_close.gif";
this.show_close_img=true;
AJS.update(this,_58);
this.addCallback(this.callback_fn);
},initHook:function(){
AJS.addClass(this.g_window,"GB_Window");
this.header=AJS.TABLE({"class":"header"});
this.header.style.backgroundImage="url("+this.img_header+")";
var _59=AJS.TD({"class":"caption"},this.caption);
var _5a=AJS.TD({"class":"close"});
if(this.show_close_img){
var _5b=AJS.IMG({"src":this.img_close});
var _5c=AJS.SPAN("Close");
var btn=AJS.DIV(_5b,_5c);
AJS.AEV([_5b,_5c],"mouseover",function(){
AJS.addClass(_5c,"on");
});
AJS.AEV([_5b,_5c],"mouseout",function(){
AJS.removeClass(_5c,"on");
});
AJS.AEV([_5b,_5c],"mousedown",function(){
AJS.addClass(_5c,"click");
});
AJS.AEV([_5b,_5c],"mouseup",function(){
AJS.removeClass(_5c,"click");
});
AJS.AEV([_5b,_5c],"click",GB_hide);
AJS.ACN(_5a,btn);
}
tbody_header=AJS.TBODY();
AJS.ACN(tbody_header,AJS.TR(_59,_5a));
AJS.ACN(this.header,tbody_header);
AJS.ACN(this.top_cnt,this.header);
if(this.fullscreen){
AJS.AEV(window,"scroll",AJS.$b(this.setWindowPosition,this));
}
},setFrameSize:function(){
if(this.fullscreen){
var _5e=AJS.getWindowSize();
overlay_h=_5e.h;
this.width=Math.round(this.overlay.offsetWidth-(this.overlay.offsetWidth/100)*10);
this.height=Math.round(overlay_h-(overlay_h/100)*10);
}
AJS.setWidth(this.header,this.width+6);
AJS.setWidth(this.iframe,350);
AJS.setHeight(this.iframe,400);
},setWindowPosition:function(){
var _5f=AJS.getWindowSize();
AJS.setLeft(this.g_window,((_5f.w-this.width)/2)-13);
if(!this.center_win){
AJS.setTop(this.g_window,AJS.getScrollTop());
}else{
var fl=((_5f.h-this.height)/2)-20+AJS.getScrollTop();
if(fl<0){
fl=0;
}
AJS.setTop(this.g_window,fl);
}
}});
AJS.preloadImages(GB_ROOT_DIR+"w_close.gif",GB_ROOT_DIR+"header_bg.gif");


script_loaded=true;


Ajax Update Code:

Code:
window.addEvent('domready', function(){
         var url = 'incs/files.inc.php?p=admin_users';

         // refresh every 5 seconds
         var timer = 5;
         // periodical and dummy variables for later use
         var periodical, dummy;
         var start = $('start'), stop = $('stop'), up_users = $('up_users_res');

         /* our ajax istance */
         var ajax = new Ajax(url, {
            update: up_users,
            method: 'get',
         });

         /* our refresh function: it sets a dummy to prevent
            caching of php and add the loader class */
         var refresh = (function() {
            // dummy to prevent caching of php
            dummy = $time() + $random(0, 100);
            // we add out fancy spinner
            up_users.empty().addClass('ajax-loading');
            // requests of our php plus dummy as query
            ajax.request(dummy);
         });

         // start and stop click events
            window.addEvent('domready', function() {
           // the periodical starts here, the * 1000 is because milliseconds required
           periodical = refresh.periodical(timer * 1000, this);

           // this is the first only request, later on will be only the periodical and refresh
           // that do the request. If we don't do this way, we have to wait for 4 seconds before
           // the first request.
           ajax.request($time());
            });
      });


How do I make it, so when the user either closes the popup, or submits the form, it updates, instead of every 5 seconds.
Help?
Back to top
View user's profile Send private message
Jesdisciple
Frequent Poster
Frequent Poster


Joined: 20 Oct 2007
Posts: 36
Location: Tejas

PostPosted: Sun Nov 25, 2007 6:32 pm    Post subject: Umm... Reply with quote

unidox wrote:
Greybox Code:

[non-human-readable code removed]
Here's the human-readable version. By the way, I'd appreciate it if you'd at least indent code (especially if it's long) from now on.
Code:
var GB_CURRENT = null;
GB_hide = function(cb){
   GB_CURRENT.hide(cb);
};
GreyBox = new AJS.Class({
      init: function(_2){
         this.use_fx = AJS.fx;
         this.type = "page";
         this.overlay_click_close = false;
         this.salt = 0;
         this.root_dir = GB_ROOT_DIR;
         this.callback_fns = [];
         this.reload_on_close = false;
         this.src_loader = this.root_dir + "loader_frame.html";
         var _3 = window.location.hostname.indexOf("www");
         var _4 = this.src_loader.indexOf("www");
         if(_3 != -1 && _4 == -1){
            this.src_loader = this.src_loader.replace("://", "://www.");
         }
         if(_3 == -1 && _4 != -1){
            this.src_loader = this.src_loader.replace("://www.", "://");
         }
         this.show_loading = true;
         AJS.update(this, _2);
      },
      addCallback: function(fn){
         if(fn){
            this.callback_fns.push(fn);
         }
      },
      show: function(_6){
         GB_CURRENT = this;
         this.url = _6;
         var _7 = [AJS.$bytc("object"), AJS.$bytc("select")];
         AJS.map(AJS.flattenList(_7), function(_8){
               _8.style.visibility = "hidden";
            });
         this.createElements();
         return false;
      },
      hide: function(cb){
         var me = this;
         AJS.callLater(function(){
               var _b = me.callback_fns;
               if(_b != []){
                  AJS.map(_b, function(fn){
                        fn();
                     });
               }
               me.onHide();
               if(me.use_fx){
                  var _d = me.overlay;
                  AJS.fx.fadeOut(me.overlay, {
                        onComplete: function(){
                           AJS.removeElement(_d);
                           _d = null;
                        },
                        duration:300
                     });
                  AJS.removeElement(me.g_window);
               }else{
                  AJS.removeElement(me.g_window, me.overlay);
               }
               me.removeFrame();
               AJS.REV(window, "scroll", _GB_setOverlayDimension);
               AJS.REV(window, "resize", _GB_update);
               var _e = [AJS.$bytc("object"),AJS.$bytc("select")];
               AJS.map(AJS.flattenList(_e), function(_f){
                     _f.style.visibility = "visible";
                  });
               GB_CURRENT = null;
               if(me.reload_on_close){
                  window.location.reload();
               }
               if(AJS.isFunction(cb)){
                  cb();
               }
            }, 10);
      },
      update: function(){
         this.setOverlayDimension();
         this.setFrameSize();
         this.setWindowPosition();
      },
      createElements: function(){
         this.initOverlay();
         this.g_window = AJS.DIV({
               "id": "GB_window"
            });
         AJS.hideElement(this.g_window);
         AJS.getBody().insertBefore(this.g_window, this.overlay.nextSibling);
         this.initFrame();
         this.initHook();
         this.update();
         var me = this;
         if(this.use_fx){
            AJS.fx.fadeIn(this.overlay,{
                  duration: 300,
                  to: 0.7,
                  onComplete: function(){
                     me.onShow();
                     AJS.showElement(me.g_window);
                     me.startLoading();
                  }
               });
         }else{
            AJS.setOpacity(this.overlay, 0.7);
            AJS.showElement(this.g_window);
            this.onShow();
            this.startLoading();
         }
         AJS.AEV(window, "scroll", _GB_setOverlayDimension);
         AJS.AEV(window, "resize", _GB_update);
      },
      removeFrame: function(){
         try{
            AJS.removeElement(this.iframe);
         }
         catch(e){
         }
         this.iframe = null;
      },
      startLoading: function(){
         this.iframe.src = this.src_loader + "?s=" + this.salt++;
         AJS.showElement(this.iframe);
      },
      setOverlayDimension: function(){
         var _11 = AJS.getWindowSize();
         if(AJS.isMozilla() || AJS.isOpera()){
            AJS.setWidth(this.overlay, "100%");
         }else{
            AJS.setWidth(this.overlay, _11.w);
         }
         var _12 = Math.max(AJS.getScrollTop() + _11.h, AJS.getScrollTop() + this.height);
         if(_12 < AJS.getScrollTop()){
            AJS.setHeight(this.overlay, _12);
         }else{
            AJS.setHeight(this.overlay, AJS.getScrollTop() + _11.h);
         }
      },
      initOverlay: function(){
         this.overlay = AJS.DIV({
               "id": "GB_overlay"
            });
         if(this.overlay_click_close){
            AJS.AEV(this.overlay, "click", GB_hide);
         }
         AJS.setOpacity(this.overlay, 0);
         AJS.getBody().insertBefore(this.overlay,AJS.getBody().firstChild);
      },
      initFrame: function(){
         if(!this.iframe){
            var d = {"name":"GB_frame", "class":"GB_frame", "frameBorder":0, src:"javascript:false;document.write(\"\");"};
            this.iframe = AJS.IFRAME(d);
            this.middle_cnt = AJS.DIV({"class":"content"}, this.iframe);
            this.top_cnt = AJS.DIV();
            this.bottom_cnt = AJS.DIV();
            AJS.ACN(this.g_window, this.top_cnt, this.middle_cnt, this.bottom_cnt);
         }
      },
      onHide: function(){
      },
      onShow: function(){
      },
      setFrameSize: function(){
      },
      setWindowPosition: function(){
      },
      initHook: function(){
      }
   });
_GB_update = function(){
   if(GB_CURRENT){
      GB_CURRENT.update();
   }
};
_GB_setOverlayDimension = function(){
   if(GB_CURRENT){
      GB_CURRENT.setOverlayDimension();
   }
};
AJS.preloadImages(GB_ROOT_DIR + "indicator.gif");
script_loaded = true;
var GB_SETS = {};
function decoGreyboxLinks(){
   var as = AJS.$bytc("a");
   AJS.map(as, function(a){
         if(a.getAttribute("href") && a.getAttribute("rel")){
            var rel = a.getAttribute("rel");
            if(rel.indexOf("gb_") == 0){
               var _17 = rel.match(/\w+/)[0];
               var _18 = rel.match(/\[(.*)\]/)[1];
               var _19 = 0;
               var _1a = {
                  "caption": a.title || "",
                  "url": a.href
               };
               if(_17 == "gb_pageset" || _17 == "gb_imageset"){
                  if(!GB_SETS[_18]){
                     GB_SETS[_18] = [];
                  }
                  GB_SETS[_18].push(_1a);
                  _19 = GB_SETS[_18].length;
               }
               if(_17 == "gb_pageset"){
                  a.onclick = function(){
                     GB_showFullScreenSet(GB_SETS[_18], _19);
                     return false;
                  };
               }
               if(_17 == "gb_imageset"){
                  a.onclick = function(){
                     GB_showImageSet(GB_SETS[_18], _19);
                     return false;
                  };
               }
               if(_17 == "gb_image"){
                  a.onclick = function(){
                     GB_showImage(_1a.caption, _1a.url);
                     return false;
                  };
               }
               if(_17 == "gb_page"){
                  a.onclick = function(){
                     var sp = _18.split(/, ?/);
                     GB_show(_1a.caption, _1a.url, parseInt(sp[1]), parseInt(sp[0]));
                     return false;
                  };
               }
               if(_17 == "gb_page_fs"){
                  a.onclick = function(){
                     GB_showFullScreen(_1a.caption, _1a.url);
                     return false;
                  };
               }
               if(_17 == "gb_page_center"){
                  a.onclick = function(){
                     var sp = _18.split(/, ?/);
                     GB_showCenter(_1a.caption, _1a.url, parseInt(sp[1]), parseInt(sp[0]));
                     return false;
                  };
               }
            }
         }
      });
}
AJS.AEV(window, "load", decoGreyboxLinks);
GB_showImage = function(_1d, url, _1f){
   var _20 = {
      width: 300,
      height: 300,
      type: "image",
      fullscreen: false,
      center_win: true,
      caption: _1d,
      callback_fn: _1f
   };
   var win = new GB_Gallery(_20);
   return win.show(url);
};
GB_showPage = function(_22, url, _24){
   var _25 = {
      type: "page",
      caption: _22,
      callback_fn: _24,
      fullscreen: true,
      center_win: false};
   var win = new GB_Gallery(_25);
   return win.show(url);
};
GB_Gallery = GreyBox.extend({
      init: function(_27){
         this.parent({});
         this.img_close = this.root_dir + "g_close.gif";
         AJS.update(this, _27);
         this.addCallback(this.callback_fn);
      },
      initHook: function(){
         AJS.addClass(this.g_window, "GB_Gallery");
         var _28 = AJS.DIV({
               "class": "inner"
            });
         this.header = AJS.DIV({
               "class": "GB_header"
            },_28);
         AJS.setOpacity(this.header, 0);
         AJS.getBody().insertBefore(this.header, this.overlay.nextSibling);
         var _29 = AJS.TD({
               "id": "GB_caption",
               "class": "caption",
               "width": "40%"
            }, this.caption);
         var _2a = AJS.TD({
               "id": "GB_middle",
               "class": "middle",
               "width": "20%"
            });
         var _2b = AJS.IMG({
               "src": this.img_close
            });
         AJS.AEV(_2b, "click", GB_hide);
         var _2c = AJS.TD({
               "class": "close",
               "width": "40%"
            }, _2b);
         var _2d = AJS.TBODY(AJS.TR(_29, _2a, _2c));
         var _2e = AJS.TABLE({
               "cellspacing" :"0",
               "cellpadding" :0,
               "border": 0
            }, _2d);
         AJS.ACN(_28,_2e);
         if(this.fullscreen){
            AJS.AEV(window, "scroll", AJS.$b(this.setWindowPosition, this));
         }else{
            AJS.AEV(window, "scroll", AJS.$b(this._setHeaderPos, this));
         }
      },
      setFrameSize: function(){
         var _2f = this.overlay.offsetWidth;
         var _30 = AJS.getWindowSize();
         if(this.fullscreen){
            this.width = _2f - 40;
            this.height = _30.h - 80;
         }
         AJS.setWidth(this.iframe, this.width);
         AJS.setHeight(this.iframe, this.height);
         AJS.setWidth(this.header, _2f);
      },
      _setHeaderPos: function(){
         AJS.setTop(this.header, AJS.getScrollTop() + 10);
      },
      setWindowPosition: function(){
         var _31 = this.overlay.offsetWidth;
         var _32 = AJS.getWindowSize();
         AJS.setLeft(this.g_window, ((_31 - 50 - this.width) / 2));
         var _33 = AJS.getScrollTop() + 55;
         if(!this.center_win){
               AJS.setTop(this.g_window, _33);
         }else{
            var fl = ((_32.h - this.height) / 2) + 20 + AJS.getScrollTop();
            if(fl < 0){
               fl = 0;
            }
            if(_33>fl){
               fl = _33;
            }
            AJS.setTop(this.g_window, fl);
         }
         this._setHeaderPos();
      },
      onHide: function(){
         AJS.removeElement(this.header);
         AJS.removeClass(this.g_window, "GB_Gallery");
      },
      onShow:function(){
         if(this.use_fx){
            AJS.fx.fadeIn(this.header, {
                  to:1
               });
         }else{
            AJS.setOpacity(this.header, 1);
         }
      }
   });
AJS.preloadImages(GB_ROOT_DIR + "g_close.gif");
GB_showFullScreenSet = function(set, _36, _37){
   var _38 = {
      type: "page",
      fullscreen: true,
      center_win: false
   };
   var _39 = new GB_Sets(_38, set);
   _39.addCallback(_37);
   _39.showSet(_36 - 1);
   return false;
};
GB_showImageSet=function(set, _3b, _3c){
   var _3d = {
      type: "image",
      fullscreen: false,
      center_win: true,
      width: 300,
      height: 300
   };
   var _3e = new GB_Sets(_3d, set);
   _3e.addCallback(_3c);
   _3e.showSet(_3b - 1);
   return false;
};
GB_Sets=GB_Gallery.extend({
      init: function(_3f,set){
         this.parent(_3f);
         if(!this.img_next){
            this.img_next = this.root_dir+"next.gif";
         }
         if(!this.img_prev){
            this.img_prev = this.root_dir+"prev.gif";
         }
         this.current_set = set;
      },
      showSet: function(_41){
         this.current_index = _41;
         var _42 = this.current_set[this.current_index];
         this.show(_42.url);
         this._setCaption(_42.caption);
         this.btn_prev = AJS.IMG({"class": "left", src: this.img_prev});
         this.btn_next = AJS.IMG({"class": "right", src: this.img_next});
         AJS.AEV(this.btn_prev, "click", AJS.$b(this.switchPrev, this));
         AJS.AEV(this.btn_next, "click", AJS.$b(this.switchNext, this));
         GB_STATUS=AJS.SPAN({
               "class": "GB_navStatus"
            });
         AJS.ACN(AJS.$("GB_middle"), this.btn_prev, GB_STATUS, this.btn_next);
         this.updateStatus();
      },
      updateStatus: function(){
         AJS.setHTML(GB_STATUS, (this.current_index + 1) + " / " + this.current_set.length);
         if(this.current_index == 0){
            AJS.addClass(this.btn_prev, "disabled");
         }else{
            AJS.removeClass(this.btn_prev, "disabled");
         }
         if(this.current_index == this.current_set.length - 1){
            AJS.addClass(this.btn_next, "disabled");
         }else{
            AJS.removeClass(this.btn_next, "disabled");
         }
      },
      _setCaption: function(_43){
         AJS.setHTML(AJS.$("GB_caption"), _43);
      },
      updateFrame: function(){
         var _44 = this.current_set[this.current_index];
         this._setCaption(_44.caption);
         this.url = _44.url;
         this.startLoading();
      },
      switchPrev: function(){
         if(this.current_index != 0){
            this.current_index--;
            this.updateFrame();
            this.updateStatus();
         }
      },
      switchNext: function(){
         if(this.current_index != this.current_set.length-1){
            this.current_index++;
            this.updateFrame();
            this.updateStatus();
         }
      }
   });
AJS.AEV(window, "load", function(){
      AJS.preloadImages(GB_ROOT_DIR + "next.gif", GB_ROOT_DIR + "prev.gif");
   });
GB_show = function(_45, url, _47, _48, _49){
   var _4a = {
      caption:_45,
      height: _47 || 500,
      width: _48 || 500,
      fullscreen: false,
      callback_fn: _49
   };
   var win = new GB_Window(_4a);
   return win.show(url);
};
GB_showCenter = function(_4c, url, _4e, _4f, _50){
   var _51 = {
      caption:_4c,
      center_win: true,
      height: _4e || 500,
      width: _4f || 500,
      fullscreen: false,
      callback_fn: _50
   };
   var win = new GB_Window(_51);
   return win.show(url);
};
GB_showFullScreen = function(_53,url,_55){
   var _56 = {
      caption: _53,
      fullscreen: true,
      callback_fn: _55
   };
   var win = new GB_Window(_56);
   return win.show(url);
};
GB_Window = GreyBox.extend({
      init: function(_58){
         this.parent({});
         this.img_header = this.root_dir + "header_bg.gif";
         this.img_close = this.root_dir + "w_close.gif";
         this.show_close_img = true;
         AJS.update(this, _58);
         this.addCallback(this.callback_fn);
      },
      initHook: function(){
         AJS.addClass(this.g_window, "GB_Window");
         this.header = AJS.TABLE({"class": "header"});
         this.header.style.backgroundImage = "url(" + this.img_header + ")";
         var _59 = AJS.TD({
               "class": "caption"
            }, this.caption);
         var _5a = AJS.TD({"class":"close"});
         if(this.show_close_img){
            var _5b = AJS.IMG({
                  "src": this.img_close
               });
            var _5c = AJS.SPAN("Close");
            var btn = AJS.DIV(_5b,_5c);
            AJS.AEV([_5b,_5c], "mouseover", function(){
                  AJS.addClass(_5c, "on");
               });
            AJS.AEV([_5b,_5c], "mouseout", function(){
                  AJS.removeClass(_5c, "on");
               });
            AJS.AEV([_5b,_5c], "mousedown", function(){
                  AJS.addClass(_5c, "click");
               });
            AJS.AEV([_5b,_5c], "mouseup", function(){
                  AJS.removeClass(_5c, "click");
               });
            AJS.AEV([_5b,_5c], "click", GB_hide);
            AJS.ACN(_5a, btn);
         }
         tbody_header = AJS.TBODY();
         AJS.ACN(tbody_header, AJS.TR(_59,_5a));
         AJS.ACN(this.header, tbody_header);
         AJS.ACN(this.top_cnt, this.header);
         if(this.fullscreen){
            AJS.AEV(window, "scroll", AJS.$b(this.setWindowPosition, this));
         }
      },
      setFrameSize: function(){
         if(this.fullscreen){
            var _5e = AJS.getWindowSize();
            overlay_h = _5e.h;
            this.width = Math.round(this.overlay.offsetWidth - (this.overlay.offsetWidth / 100) * 10);
            this.height = Math.round(overlay_h - (overlay_h / 100) * 10);
         }
         AJS.setWidth(this.header, this.width+6);
         AJS.setWidth(this.iframe, 350);
         AJS.setHeight(this.iframe, 400);
      },
      setWindowPosition: function(){
         var _5f = AJS.getWindowSize();
         AJS.setLeft(this.g_window, ((_5f.w - this.width) / 2) - 13);
         if(!this.center_win){
            AJS.setTop(this.g_window,AJS.getScrollTop());
         }else{
            var fl = ((_5f.h - this.height) / 2) - 20 + AJS.getScrollTop();
            if(fl < 0){
               fl = 0;
            }
            AJS.setTop(this.g_window, fl);
         }
      }
   });
AJS.preloadImages(GB_ROOT_DIR + "w_close.gif", GB_ROOT_DIR + "header_bg.gif");

script_loaded = true;


unidox wrote:
How do I make it, so when the user either closes the popup, or submits the form, it updates, instead of every 5 seconds.
Help?
Can you give a complete example (i.e., a functioning HTML page) of the code in question, by posting either source code or a URL which points to source code? The abstract isn't a good workplace.
_________________
In ALL things, strive for ><>,
Chris
Back to top
View user's profile Send private message Visit poster's website AIM Address MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Ajaxtalk.com Forum Index -> AJAX Help All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
 Advertisements
 XML & Copyright Notice 
    


Powered by phpBB © 2001, 2005 phpBB Group

What is according to Wikipedia: Ajax Web2.0 XML E4X


Link to our site:

  


del.icio.us digg spurl wists simpy newsvine blinklist furl blogmarks yahoo! myweb smarking ma.gnolia segnalo reddit fark technorati cosmos


Normal Bookmark


Partner Button Links:
Codecrunch.com: Webmaster Tutorials    One Ajax


Partner Text Links:
quomon | web20log | ajaxmatters | tableless | 456bereastreet | music charts | gift ideas | competitions | free xbox 360 | link trade ?


Credits:
it consultancy & project management lead generation zoekmachine optimalisatie steal these buttons seo expert