	var interval = 5; // delay between rotating images (in seconds)
	var random_display = 0; // 0 = no, 1 = yes
	interval *= 1000;

		
	var image_index = 0;
	image_list = new Array();
	image_list[image_index++] = new imageItem("images/rotator/engagement-couple-grass.jpg");
	// this is actually image #1
	image_list[image_index++] = new imageItem("images/rotator/engagement-ring.jpg");
	image_list[image_index++] = new imageItem("images/rotator/wedding-lake-sunset.jpg");
	image_list[image_index++] = new imageItem("images/rotator/wedding-bride-dress.jpg");
	image_list[image_index++] = new imageItem("images/rotator/first-dance-kiss.jpg");
	image_list[image_index++] = new imageItem("images/rotator/just-married-kiss.jpg");
	image_list[image_index++] = new imageItem("images/rotator/engagement-couple-bench.jpg");
	image_list[image_index++] = new imageItem("images/rotator/wedding-couple-bubbles.jpg");
	var number_of_image = image_list.length;

	var link_index = 0;
	image_link = new Array();
	image_link[link_index++] = "javascript:void(0);";
	image_link[link_index++] = "javascript:void(0);";
	image_link[link_index++] = "javascript:void(0);";
	image_link[link_index++] = "javascript:void(0);";
	image_link[link_index++] = "javascript:void(0);";
	image_link[link_index++] = "javascript:void(0);";
	image_link[link_index++] = "javascript:void(0);";
	image_link[link_index++] = "javascript:void(0);";
	image_link[link_index++] = "javascript:void(0);";
	image_link[link_index++] = "javascript:void(0);";
	image_link[link_index++] = "javascript:void(0);";

	function imageItem(image_location) {
		this.image_item = new Image();
		this.image_item.src = image_location;
	}
	function get_ImageItemLocation(imageObj) {
		return(imageObj.image_item.src)
	}
	function generate(x, y) {
		var range = y - x + 1;
		return Math.floor(Math.random() * range) + x;
	}
	function getNextImage() {
		if (random_display) {
		image_index = generate(0, number_of_image-1);
		}
		else {
		image_index = (image_index+1) % number_of_image;
		}
		var new_image = get_ImageItemLocation(image_list[image_index]);
		//document.getElementById("rotator-link").href = image_link[image_index];

		return(new_image);
	}

	function rotateImage(place) {
		var new_image = getNextImage();
		
		blendimage("rotator-wrap", place, new_image, 600);

		//document[place].src = new_image;
		var recur_call = "rotateImage('"+place+"')";
		setTimeout(recur_call, interval);
	}

function opacity(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(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(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 + ")";
}


function blendimage(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
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(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) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}
