var THUMBS_COUNT = 0;
var THUMBS_LOADED = 0;

var PAGES_COUNT = 0;
var PAGES_CURRENT = 0;
var PAGES_NEXT = 0;
var WORKS_COUNT = 0;
var WORKS_LOADED = 0;
var WORKS_NEXT = 0;
var WORKS_ANIM = 'none';

var WORKS_CURRENT_Y = 0;
var WORKS_NEXT_Y = 0;
var op = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

var wvFade = 0;
var cFade = 0;

function workloaded()
{
	WORKS_LOADED++;
	if(WORKS_COUNT == 0)
		return
	else if(WORKS_LOADED == WORKS_COUNT)
	{
		var wv = document.getElementById("worksview");
		var pl = document.getElementById("preloader");
		pl.style.display = "none";
		wvFade = 0;
		setOpacity("worksview", 0);
		wv.style.display = 'block';
		wvFadeIn();
	}
}

function thumbLoaded()
{
	THUMBS_LOADED++;
	if(THUMBS_COUNT == 0) return;
	else if (THUMBS_LOADED == THUMBS_COUNT)
	{
		var c = document.getElementById("content");
		var pl = document.getElementById("preloader");
		pl.style.display = "none";
		cFade = 0;
		setOpacity("content", 0);
		c.style.display = 'block';
		cFadeIn();
	}
}

function setOpacity(id, val)
{
	var el = document.getElementById(id);
	var fval = val/100;
	el.style.opacity = fval;
	el.style.khtmlOpacity = fval;
	el.style.mozOpacity = fval;
	el.style.filter = "alpha(opacity=" + val + ")";
}

function wvFadeIn()
{
	wvFade += 10;
	if(wvFade > 100) wvFade = 100;
	setOpacity("worksview", wvFade);
	if(wvFade < 100)
		setTimeout("wvFadeIn()", 50);
}

function cFadeIn()
{
	cFade += 10;
	if(cFade > 100) cFade = 100;
	setOpacity("content", cFade);
	if(cFade < 100)
		setTimeout("cFadeIn()", 50);
}

function next_work()
{
	WORKS_NEXT = WORKS_CURRENT + 1;
	if(WORKS_NEXT > WORKS_COUNT - 1) WORKS_NEXT = 0;
	WORKS_ANIM = 'start_next';

	do_anim();
}

function prev_work()
{
	WORKS_NEXT = WORKS_CURRENT - 1;
	if(WORKS_NEXT < 0) WORKS_NEXT = WORKS_COUNT - 1;
	WORKS_ANIM = 'start_prev';

	do_anim();
}


function do_anim()
{

	var ci = document.getElementById('item_' + WORKS_CURRENT);
	var ni = document.getElementById('item_' + WORKS_NEXT);
	var wv = document.getElementById('worksview');
	switch(WORKS_ANIM)
	{
		case 'start_next':
			WORKS_CURRENT_Y = 160;
			WORKS_ANIM = 'shift_curr_down';
			setTimeout('do_anim()', 20);
			break;
		case 'shift_curr_down':
			WORKS_CURRENT_Y += 50;
			var is_out = false;
			if(WORKS_CURRENT_Y >= wv.clientHeight) { is_out = true; WORKS_CURRENT_Y = wv.clientHeight; }
			ci.style.top = WORKS_CURRENT_Y + "px";
			
			//fade:
			var op = ((wv.clientHeight - WORKS_CURRENT_Y) * 100) / (wv.clientHeight - 160);
			setOpacity('item_' + WORKS_CURRENT, op);
			///
			if(!is_out) 
				setTimeout('do_anim()', 20);
			else
			{
				WORKS_NEXT_Y = -500;
				ci.display = 'none';
				ni.style.top = WORKS_NEXT_Y + "px";
				ni.style.display = 'block';
				WORKS_ANIM = 'shift_next_down';
				setTimeout('do_anim()', 20);
			}
			break;
		case 'shift_next_down':
			WORKS_NEXT_Y += 50;
			var is_out = false;
			if(WORKS_NEXT_Y >= 160) { is_out = true; WORKS_NEXT_Y = 160; }
			ni.style.top = WORKS_NEXT_Y + "px";
			//fade:
			var op = ((160 - WORKS_NEXT_Y) * 100) / (160 + 500);
			setOpacity('item_' + WORKS_NEXT, 100 - op);
			///
			
			if(!is_out) 
				setTimeout('do_anim()', 20);
			else
			{
				WORKS_CURRENT = WORKS_NEXT;
			}
			break;
		case 'start_prev':
			WORKS_CURRENT_Y = 160;
			WORKS_ANIM = 'shift_curr_up';
			setTimeout('do_anim()', 20);
			break;
		case 'shift_curr_up':
			WORKS_CURRENT_Y -= 50;
			var is_out = false;
			if(WORKS_CURRENT_Y <= -500 ) { is_out = true; WORKS_CURRENT_Y = -500 }
			ci.style.top = WORKS_CURRENT_Y + "px";
			
			//fade:
			var op = ((WORKS_CURRENT_Y + 500) * 100) / (500 +  160);
			setOpacity('item_' + WORKS_CURRENT, op);
			///
			
			if(!is_out) 
				setTimeout('do_anim()', 20);
			else
			{
				WORKS_NEXT_Y = wv.clientHeight;
				ci.display = 'none';
				ni.style.top = WORKS_NEXT_Y + "px";
				ni.style.display = 'block';
				WORKS_ANIM = 'shift_next_up';
				setTimeout('do_anim()', 20);
			}
			break;
		case 'shift_next_up':
			WORKS_NEXT_Y -= 50;
			var is_out = false;
			if(WORKS_NEXT_Y <= 160) { is_out = true; WORKS_NEXT_Y = 160; }
			ni.style.top = WORKS_NEXT_Y + "px";
			//fade:
			var op = ((WORKS_NEXT_Y - 160) * 100) / (wv.clientHeight - 160);
			setOpacity('item_' + WORKS_NEXT, 100 - op);
			///
			
			if(!is_out) 
				setTimeout('do_anim()', 20);
			else
			{
				WORKS_CURRENT = WORKS_NEXT;
			}
			break;
			
	}
}

function mi_loaded(id)
{
	var mi = document.getElementById("mi_" + id);
	setOpacity("mi_" + id, 0);
	mi.style.visibility = 'visible';
	setTimeout("mi_fade(" + id + ")", 50);
}

function mi_fade(id)
{
	var mi = document.getElementById("mi_" + id);
	op[id] += 0.1;
	if(op[id] > 1) op[id] = 1;
	setOpacity("mi_" + id, op[id] * 100);
	if(op[id] < 1)
		setTimeout("mi_fade(" + id + ")", 50);
}

function worksRight()
{
	var wl = document.getElementById("works_larr");
	var wr = document.getElementById("works_rarr");
	PAGES_NEXT = PAGES_CURRENT + 1;
	var cw = document.getElementById("works_" + PAGES_CURRENT );
	var nw = document.getElementById("works_" + (PAGES_NEXT));
	cw.style.display = "none";
	nw.style.display = "block";
	PAGES_CURRENT = PAGES_NEXT;
	wl.style.display = (PAGES_CURRENT == 0)?"none":"block";
	wr.style.display = (PAGES_CURRENT == PAGES_COUNT - 1)?"none":"block";
}

function worksLeft()
{
	var wl = document.getElementById("works_larr");
	var wr = document.getElementById("works_rarr");
	PAGES_NEXT = PAGES_CURRENT - 1;
	var cw = document.getElementById("works_" + PAGES_CURRENT );
	var nw = document.getElementById("works_" + PAGES_NEXT);
	cw.style.display = "none";
	nw.style.display = "block";
	PAGES_CURRENT = PAGES_NEXT;
	wl.style.display = (PAGES_CURRENT == 0)?"none":"block";
	wr.style.display = (PAGES_CURRENT == PAGES_COUNT - 1)?"none":"block";
}

function removeLoader()
{
	var el = document.getElementById('preloader'); el.style.display = 'none';
	var el = document.getElementById('content'); el.style.display = 'block';
}