/* DynAPI Distribution dynapi.functions.Image extension */ var f = dynapi.functions; f.Image = {}; // used by dynapi.library // Image Functions --------------------------- f._imgTTL = 30000; // Image Time To Load (ms) f.getImage = function(src,w,h,params) { var img,name,p=params; if(!p) name=src; else name=(!p.alias)? src:p.alias; img = dynapi.ximages[name]; if(!img || (img && img.params!=params)){ // if user enters a new set of params then create a new image object img=dynapi.ximages[name] = (w!=null&&h!=null)? new Image(w,h) : new Image(); img.w=w||null; img.h=h||null; img.src=src;img.params=p; img.getHTML=dynapi._imageGetHTML; img.reload=dynapi._imageReload; img.dtStart=new Date(); if(p) { var f=dynapi.functions; if(p.oversrc) f.getImage(p.oversrc); if(p.downsrc) f.getImage(p.downsrc); } if(!this._imgTmr && this._imgProgFn) this._imageProgress(); } return img; }; f.getFailedImages = function(){ var ar=[]; for(i in dynapi.ximages){ img=dynapi.ximages[i]; if(img && img.failed) ar[ar.length]=img; } return ar; }; f.captureImageProgress=function(fn){ //fn = fn(completed,failed,total); this._imgProgFn=fn; this._imageProgress(); }; f._imageProgress = function(){ var i,c=0,f=0,t=0; var img,dtEnd = new Date; var fn=this._imgProgFn; for(i in dynapi.ximages){ img=dynapi.ximages[i]; if(img && img.complete!=null){ t++; img.failed=(!img.complete && (dtEnd-img.dtStart)>this._imgTTL)? true:false; if (img.complete) c++; else if(img.failed) f++; } } if(fn) fn(c,f,t); if(c+f'+t; else if (dir=='S') t=t+'
'+text; else if (dir=='E') t=t+text; else if (dir=='W') t=text+t; } if(p.link) t=''+t+''; if(xtags && p.name) dynapi._imageHookArray[p.name]=p; return t; };