function preload()
{
	var args=arguments;
	with(this)
	{
		this.el=[];this.pre_image=[];
		this.ec=args[1].length;
		this.name=args[0];window[name]=this;
		for (var i=1;i<=ec;i++){if(!args[1][i-1]){args[1].splice(i-1,1);i--;ec--;}else{el[i]=args[1][i-1];}}
		this.cp=0;
		this.slink=0;this.kg=0;
		this.start=function()
		{
			for (i=1;i<=ec;i++){pre_image[i]=new Image();pre_image[i].src=el[i];}
			if(cp&&slink){kg=ec;for(i=1;i<=ec;i++){eval("pre_image[i].onload=function(){"+name+".slinker("+i+");}");kg-=(pre_image[i].complete?1:(pre_image[i].complete==0?0:1));}}
			if((!kg)&&slink){slinker(0);}
		}		
		this.alt=function()
		{
			for (var i=0;i<= ec;i++)
			{
				var ti=(i+1);
				pre_image[ti]=new Image;pre_image[ti].src=el[ti];if (ti==(ec-i)){break;}		
				ti=(ec-i);pre_image[ti]=new Image;pre_image[ti].src = el[ti];if (ti==(i+2)){break;}	
			}
			if(cp&&slink){kg=ec;for(i=1;i<=ec;i++){eval("pre_image[i].onload=function(){"+name+".slinker("+i+");}");kg-=(pre_image[i].complete?1:(pre_image[i].complete==0?0:1));}}
			if((!kg)&&slink){slinker(0);}
		}
		this.slinker=function(loaded_img)
		{
			if(cp){kg=ec;for(i=1;i<=ec;i++){if(i==loaded_img){kg--;}else{kg-=(pre_image[i].complete?1:(pre_image[i].complete==0?0:1));}}}
			if(cp&&!kg&&slink){for(i=1;i<=ec;i++){pre_image[i].onload=function(){}}}
			if(!kg&&slink){var islink=slink;slink=0;eval(islink+".start()");return 0;}else{return kg;}
		}
	}
}