var BannerImages = new Class({
	initialize: function(homepage) {		  
		this.home = homepage;
		this.firstRun = true;
		this.interval = 8000;
		this.active = 0;
		this.getBannerImages(this.home);
	},
    
	getBannerImages: function(home){		
		new Request.JSON({
			url: "includes/getBannerImages.asp?homepage=" + home, 
			onComplete: function(json){
				this.items = json.results;				
				if(this.items.length>0)	this.build();	
			}.bind(this)
		}).get();	
	},		
	
	build: function(){
		this.container = $("bannerimages");			
		this.shedule();
	},
	
	shedule: function(){
		this.preload();	
	},	
	
	preload: function(){
		var src;
		src = "picture.asp?kenmerk=bannerimage&volgnr="+this.items[this.active].fotogalfoto_volgnr+"&anticache=" + $random(1,99999)+"";
		tekst = this.items[this.active].fotogalond_omschrijving;
		var img = new Element("img", {
			src: src,			
			events: {
				'load':function(){
					this.makeElement(img, tekst);
				}.bind(this)
			}
		});
	},
	
	makeElement: function(img, tekst){
		var item = this.items[this.active];
		//if(item.sponsor_url!=""){
			//var a = new Element("a",{
				//href:item.sponsor_url+"",
				//target:"_blank"
			//});
			//img.inject(a);
			//var el = a;
		//} else {
			var el = img;
			var el2 = new Element('div').set('html', tekst);
		//}
		this.showImage(el,el2);
	},
	
	showImage: function(el,el2){
		el.setStyle('opacity',0);		
		el2.setStyle('opacity',0);		
		var old = this.container.getElement("img");
		var old2 = this.container.getElement("div");
		if(old){
			new Fx.Tween(old,{
				transition:Fx.Transitions.easeOut,
				duration: 'long',
				onComplete:function(){
					old.dispose();
				}
			}).start("opacity",0);
			new Fx.Tween(old2,{
				transition:Fx.Transitions.easeOut,
				duration: 'long',
				onComplete:function(){
					old2.dispose();
				}
			}).start("opacity",0);
		}
		el.inject(this.container);
		el2.inject(this.container);
		new Fx.Tween(el,{transition:Fx.Transitions.easeIn, duration: 'long'}).start("opacity",1);
		new Fx.Tween(el2,{transition:Fx.Transitions.easeIn, duration: 'long'}).start("opacity",1);
		this.active = this.active + 1;
		if(this.active == this.items.length) this.active = 0;		
		this.preload.delay(this.interval,this);
	}	
});
