var loadCount, total_images, html_buffer;

function fadeout_all_r(links, start_times, time_passed) {
	var opacity, i;
	var done = true;
	for (i = 0; i < links.length; i++) {
		if (start_times[i] > time_passed) {
			done = false;
			continue;
		}
		opacity = parseFloat(links[i].style.opacity);
		if (opacity > 0) {
			opacity -= 0.08;
			if (opacity < 0) {
				opacity = 0;
			}
			else {
				done = false;
			}
			links[i].style.opacity = opacity;
			links[i].style.filter = "alpha(opacity=" + Math.floor(opacity * 100) + ");";
		}
	}
	if (!done) {
		setTimeout(function(){fadeout_all_r(links,start_times,time_passed+50);},50);
	}
}

function fadein_all_r(links, start_times, time_passed) {
	var opacity, i;
	var done = true;
	for (i = 0; i < links.length; i++) {
		if (start_times[i] > time_passed) {
			done = false;
			continue;
		}
		opacity = parseFloat(links[i].style.opacity);
		if (opacity < 1) {
			opacity += 0.05;
			if (opacity > 1) {
				opacity = 1;
			}
			else {
				done = false;
			}
			links[i].style.opacity = opacity;
			links[i].style.filter = "alpha(opacity=" + Math.floor(opacity * 100) + ");";
		}
	}
	if (!done) {
		setTimeout(function(){fadein_all_r(links,start_times,time_passed+50);},50);
	}
}

function fadeout_icons(id) {
	var link = document.getElementById(id);
	var image_elements = link.getElementsByTagName('img');
	var start_times = new Array(image_elements.length);
	var temp_indexes = new Array(image_elements.length);
	for (i = 0; i < image_elements.length; i++) {
		image_elements[i].style.opacity = 1;
		image_elements[i].style.filter = "alpha(opacity=100);";
		temp_indexes[i] = i;
	}

	var time = 0;
	for (i = image_elements.length; i >= 0; i--) {
		rand = Math.floor(Math.random()*i);
		index = temp_indexes[rand];
		start_times[index] = time;
		time+=100;
		// swap
		temp = temp_indexes[i];
		temp_indexes[i] = index;
		temp_indexes[rand] = temp;
	}
	setTimeout(function(){fadeout_all_r(image_elements, start_times,0);},0);
}


function fadein_icons(id) {
	var link = document.getElementById(id);
	var image_elements = link.getElementsByTagName('img');
	var start_times = new Array(image_elements.length);
	var temp_indexes = new Array(image_elements.length);
	for (i = 0; i < image_elements.length; i++) {
		image_elements[i].style.opacity = 0;
		image_elements[i].style.filter = "alpha(opacity=0);";
		temp_indexes[i] = i;
	}

	var time = 0;
	for (i = image_elements.length; i >= 0; i--) {
		rand = Math.floor(Math.random()*i);
		index = temp_indexes[rand];
		start_times[index] = time;
		time+=100;
		// swap
		temp = temp_indexes[i];
		temp_indexes[i] = index;
		temp_indexes[rand] = temp;
	}
	setTimeout(function(){fadein_all_r(image_elements, start_times,0);},0);
}

//var console = Components.classes['@mozilla.org/consoleservice;1'].getService(Components.interfaces.nsIConsoleService);

function receive_raw(raw) {
	var parts = raw.split(",");
	total_images = parts[0];
	var images = new Array(total_images);
	html_buffer = "";
	loadCount = 0;
	
	for (i = 0; i < total_images; i++) {
		images[i] = new Image(100, 100);
		//if (!document.all) {
			//images[i].onload = image_load();
		//}
		images[i].src = parts[i*2+2];
		//console.debug(images[i].src);
		html_buffer += '<div><a href="/'+parts[i*2+1].replace(/ /g,"_") +'"><img title="'+parts[i*2+1]+'" src="'+images[i].src+'" width="100px" height="100px" /></a></div>';
	}

	/*
	setTimeout(function(){detect_if_loaded(images);},50);
	if (document.all) {
		document.getElementById('bot_icons').innerHTML = html_buffer;
		//fadein_icons('bot_icons');
		setTimeout(function(){reload_icons();},9000);
	}*/
	//document.getElementById('bot_icons').innerHTML = html_buffer;
	setTimeout(function(){image_load();},2000);
}

function reload_icons() {
	fadeout_icons('bot_icons');
	ajaxRaw('ajax_getindex',receive_raw, false);
}

function image_load() {
	//loadCount++;
	//if (loadCount == total_images) {
		//alert(html_buffer);
		document.getElementById('bot_icons').innerHTML = html_buffer;
		fadein_icons('bot_icons');
		setTimeout(function(){reload_icons();},10000);
	//}
}

window.onload = function() {
	fadein_icons('bot_icons');
	setTimeout(function(){reload_icons();},5000);
};

