/* © Igor Topilsky for www.vecher.com */

// Settings
var min_opacity = 50;
var max_opacity = 100;
var fadeUp_speed = 450;
var fadeDown_speed = 5000;

var faders = new Array();

function fadeUp(photo_id) {
	if (faders[photo_id]) { stop_fade(photo_id, min_opacity); }
	fade(photo_id, get_opacity(photo_id), max_opacity, fadeUp_speed);
}

function fadeDown(photo_id) {
	if (faders[photo_id]) { stop_fade(photo_id, max_opacity); }
	fade(photo_id, get_opacity(photo_id), min_opacity, fadeDown_speed);
}

function fade(photo_id, opacity_start, opacity_end, ms) {
	faders[photo_id] = new Array();
	var speed = Math.round(ms / 100);
	var timer = 0;
	if (opacity_start > opacity_end) {
		for (i = opacity_start; i >= opacity_end; i--) {
			faders[photo_id][i] = setTimeout("set_opacity(\"" + photo_id + "\", " + i + ");", (timer * speed));
			timer++;
		}
	} else if (opacity_start < opacity_end) {
		for (i = opacity_start; i <= opacity_end; i++) {
			faders[photo_id][i] = setTimeout("set_opacity(\"" + photo_id + "\", " + i + ");", (timer * speed));
			timer++;
		}
	}
}

function stop_fade(photo_id, opacity_end) {
	if (get_opacity(photo_id) > opacity_end) {
		for (i = get_opacity(photo_id); i >= opacity_end; i--) {
			clearTimeout(faders[photo_id][i]);
		}
	} else if (get_opacity(photo_id) < opacity_end) {
		for (i = get_opacity(photo_id); i <= opacity_end; i++) {
			clearTimeout(faders[photo_id][i]);
		}
	}
}

function get_opacity(photo_id) {
	var photo = document.getElementById(photo_id);
	if (!photo.style.opacity) {
		return min_opacity;
	} else {
		return photo.style.opacity * 100;
	}
}

function set_opacity(photo_id, opacity) {
	var photo = document.getElementById(photo_id);
	photo.style.opacity = (opacity / 100);
	photo.style.MozOpacity = (opacity / 100);
	photo.style.KhtmlOpacity = (opacity / 100);
	photo.style.filter = "alpha(opacity=" + opacity + ")";
}