function Blender(){
	
	this.delays = new Array();
	
	this.blendimage = function (divid, imageid, imagefile, millisec){
			
			var speed = Math.round(millisec / 100);
			var timer = 0;
			
			//set the current image as background
			document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
			
			//make image transparent
			this.changeOpac(0, imageid);
			
			//make new image
			document.getElementById(imageid).src = imagefile;
			
			//fade in image
			for (var i = 0; i <= 100; i++) {
				$clear(this.delays[i]);
				this.delays[i] = this.changeOpac.delay((timer * speed),this,[i,imageid]);
				timer++;
			}
		}
	
	this.opacity = function (id, opacStart, opacEnd, millisec){
		
			
			//speed for each frame
			var speed = Math.round(millisec / 100);
			var timer = 0;
			
			//determine the direction for the blending, if start and end are the same nothing happens
			if (opacStart > opacEnd) {
				
				for (var i = opacStart; i >= opacEnd; i--) {
					this.delays[i] = this.changeOpac.delay((timer * speed),this,[i,id]);
					timer++;
				}
			}
			else 
				if (opacStart < opacEnd) {
					for (var i = opacStart; i <= opacEnd; i++) {
						this.delays[i] = this.changeOpac.delay((timer * speed),this,[i,id]);
						timer++;
					}
				}
		}
		
		//change the opacity for different browsers
	this.changeOpac = function (opacity, id){
			
			var object = document.getElementById(id).style;
			object.opacity = (opacity / 100);
			object.MozOpacity = (opacity / 100);
			object.KhtmlOpacity = (opacity / 100);
			object.filter = "alpha(opacity=" + opacity + ")";
			
		}
		
	this.shiftOpacity = function (id, millisec){
			//if an element is invisible, make it visible, else make it ivisible
			
			if (document.getElementById(id).style.opacity == 0) {
				this.opacity(id, 0, 100, millisec);
			}
			else {
				this.opacity(id, 100, 0, millisec);
			}
		}
		
	this.currentOpac = function (id, opacEnd, millisec){
			//standard opacity is 100
			var currentOpac = 100;
			
			//if the element has an opacity set, get it
			if (document.getElementById(id).style.opacity < 100) {
				this.currentOpac = document.getElementById(id).style.opacity * 100;
			}
			
			//call for the function that changes the opacity
			this.opacity(id, currentOpac, opacEnd, millisec)
		}

}
