/**
 * slide.js
 * 
 * by Arjan Koopen
 */

var images;
var index;
var divName;
var no;
var startEl;
var searchAr;

function init (name, num) {
	images = new Array();
	divName = name;
	index = 0;
	startEl = 0;
	no = num;
}

function addSlide (filename) {
	images[index] = new Image();
	images[index].src = filename;
	index++;
}

function placeSlides () {
	var bla = '';
	for (var k = 0; k < no; k++) {
		bla += '<td><img src="' + images[k].src + '" alt="" id="img_id_' + k + '" /></td>';
	}
	document.getElementById(divName).innerHTML = "<table style='margin-left:101px;' cellpadding='0' cellspacing='0' border='0'><tr>" + bla + "</tr></table>";
//	alert(document.getElementById(divName).innerHTML);
}

function startSlides () {
	setTimeout ("changeAllSlides()", 7000);
}

function changeAllSlides () {
	startEl++;
	var t = 0;
	var found;
	searchAr = new Array();
	
	for (i = 0; i < no; i++) {
		found = false;
		while (!found) {
			var ran_unrounded = Math.random()*(images.length);
			var ran_number = Math.floor(ran_unrounded);
			if (searchArray (ran_number)) {
				found = true;
				searchAr[i] = ran_number;
			}
		}
		setTimeout ("changeSlide (" + i + ", " + ran_number + ")", t);
		t += 500;
	}
	startSlides();
}

function searchArray (no) {
	for (var k = 0; k < searchAr.length; k++) {
		if (no == searchAr[k]) return false;
	}
	
	return true;
}

function changeSlide (target, new_img) {
	var timer = 0;
	var speed = 20;
	for (j = 100; j > 40; j--) {
		setTimeout ("changeOpac (" + j + ", 'img_id_" + target + "')", timer * speed);	
		timer++;
	}
	
	document.getElementById("img_id_" + target).src = images[new_img].src;
	
	for (j = 40; j <= 100; j++) {
		setTimeout ("changeOpac (" + j + ", 'img_id_" + target + "')", timer * speed);	
		timer++;
	}
}

// change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 101);
    object.MozOpacity = (opacity / 101);
    object.KhtmlOpacity = (opacity / 101);
    object.filter = "alpha(opacity=" + opacity + ")";
}
