// объект
var BannerAnimation = function  () {
	// [ PrD ] banners collection
	var Banners = [];

	// [ PuD ] banner objects prefix
	this.BannerObjectsPrefix = "BannerObjectsPrefix" + Math.floor(Math.random()*1000);

	// [ PrD ] image objects prefix
	var ImagesObjectsPrefix = this.BannerObjectsPrefix+"_Image";
	
	// [ PuD ] link objects prefix
	this.LinkObjectsPrefix = this.BannerObjectsPrefix+"_Link";
//	alert(this.LinkObjectsPrefix);
	
	// [ PuD ] object handler
	this.handler = this.BannerObjectsPrefix + "Object";

	eval(this.handler+"=this");
	
	// [ PrD ] banners counter
	var BannersCounter = 0;
	
	// [ PuD ] rotate delay
	var RotateDelay = 35000;
	

	// [ PuD ] set rotate delay
	this.setRotateDelay = function (new_value) {
		RotateDelay = new_value || RotateDelay;
	}

	// [ PrD ] image preload
	function preload(imgObj,imgSrc) {
		var w = 0;
		var h = 0;
		if (document.images) {
			eval(imgObj+' = new Image()')
			eval(imgObj+'.src = "'+imgSrc+'"')
			eval('w='+imgObj+'.width;');
			eval('h='+imgObj+'.height;');
			return({width:w,height:h});
		}
	}

	// [ PuM ] add banner
	this.Add = function (ImageURL,LinkURL,AltText) {
		var ImageID = ImagesObjectsPrefix+(++BannersCounter);
		var ImageParams=preload(ImageID,ImageURL);
		Banners[Banners.length] = {
			ImageID		:ImageID,
			ImageURL	:ImageURL,
			LinkURL		:LinkURL,
			AltText		:AltText || LinkURL,
			width		:ImageParams.width,
			height		:ImageParams.height
		}
	}
	
	// [ PuM ] draw banner
	this.Draw = function () {
		if (Banners.length==0) return;
		var str = " \
			<a href="+Banners[0].LinkURL+" name="+this.LinkObjectsPrefix+"><img src="+Banners[0].ImageURL+" name="+this.BannerObjectsPrefix+" width="+Banners[0].width+" height="+Banners[0].height+" border=0 alt=\""+Banners[0].AltText+"\"></a> \
		";
		return(str);
	}
	
	// [ PuM ] rotate banner
	this.Rotate = function (offset) {
		document.images[this.BannerObjectsPrefix].src = eval(Banners[offset].ImageID+".src")
		document.images[this.BannerObjectsPrefix].title = Banners[offset].AltText;
		
		for (var i=0; i<document.anchors.length; i++) {
			if (document.anchors[i].name==this.LinkObjectsPrefix) {
				document.anchors[i].href=Banners[offset].LinkURL;
			}
		}
		setTimeout(this.handler+".Rotate("+((offset==(Banners.length-1))?0:offset+1)+")",RotateDelay);
	}
	
	return(this);
}
