function app_setup()
{
	preload();
	init_anim();
	init_thumbs();
	init_thumbsmain();
}

function app_cleanup()
{
	
}

var animatable;

function init_anim()
{
	animatable = Dom.getElementsByClassName( /anim/, $('menu') );	
	
	for (var i=0; i < animatable.length; i++ ) {
		addEvent( animatable[i], 'mouseover', animover );
		addEvent( animatable[i], 'mouseout', animout );
		animatable[i].over = false;
	}
	
	g_timerId = setInterval( animate, 50 );
}

function animate() 
{
	for (var i=0; i < animatable.length; i++ ) {
		if ( animatable[i].over ) {
			anim_func( animatable[i] );
		}
	}
}
function anim_func( t ) 
{
	var base = t.id.substring( 0, t.id.length-1 );
	var i = t.id.substring( t.id.length-1, t.id.length);
 
	if ( i !=='s' ) {
		i = parseInt(i);
		i = i+1;
		if ( i > 3 ) { i=1; }
		t.id = base + i;
	}
}
function animover( event )
{
	var t = Dom.target(event);
	t.over = true;
}
function animout( event )
{
	var t = Dom.target(event);
	t.over = false;
}

function preload() 
{
	var imgs = [];
	var tmp;
	var bases_anims = ['bio','contact', 'login', 'reel', 'work'];

	for( var i=0; i < bases_anims.length; i++ ) {
		for( var j=1; j < 4; j++ ) {
			var name = 'images/' + bases_anims[i] + '_' + j + '.jpg';
			var l = imgs.length;
//			$('debug').innerHTML += "preloading " + l + " "+name+"<br/>";
			imgs[l] = new Image();
			imgs[l].src = name;
		}
	}
}


var thumbs;

function init_thumbs()
{
	var thumbsmain = $('thumbsmain');

	if ( thumbsmain !== null ) {
		thumbs = Dom.getElementsByClassName( /thumb/, thumbsmain );
		for (var i=0; i < thumbs.length; i++ ) {
			addEvent( thumbs[i], 'mouseover', thumbover );
			addEvent( thumbs[i], 'mouseout', thumbout );
			thumbs[i].fade = false;
			thumbs[i].opacity = 0.5;
			Dom.setOpacity( thumbs[i], thumbs[i].opacity );			
		}
		g_ThumbTimer = setInterval( thumb_timer, 20 );
	}
}

var duration_in = 1000;
var duration_out = 5000;

function thumb_timer()
{
	var current = new Date();
	for (var i=0; i < thumbs.length; i++ ) {
		if (thumbs[i].fade ) {
			var diff = current-thumbs[i].startTime;
			var dt = diff/thumbs[i].duration;
			var op = thumbs[i].opacity;

			if ( diff > thumbs[i].duration ) {
				thumbs[i].fade = false;
				op = thumbs[i].end;
			} else {			
				op = op*(1-dt) + (thumbs[i].end)*dt;
			}
			thumbs[i].opacity = op;
			Dom.setOpacity(thumbs[i], op);			
		}
	}
}

function thumb_anim( t ) 
{
	
}

function thumbover( event )
{
	var t = Dom.target(event);
	t.fade = true;
	t.end = 1.0;
	t.duration = duration_in;
	t.startTime = new Date();
	t.className = 'cursorHover';
}

function thumbout( event )
{
	var t = Dom.target(event);
	t.fade = true;
	t.end = 0.5;
	t.duration = duration_out;
	t.startTime = new Date();	
	t.className = 'thumb';
}

var tmTimer;

function init_thumbsmain()
{
	var tmp = $('thumbsmain');

	if ( tmp === null ) {
		return;
	}
	$('thumbsmain').startTime = new Date();
	$('thumbsmain').opacity = 0.0;
	$('thumbsmain').duration = 3000;
	$('thumbsmain').end = 1.0;
	tmTimer = setInterval( thumbsmain_anim, 20);	
}

function thumbsmain_anim()
{
	var current = new Date();
	var diff = current-$('thumbsmain').startTime;
	var dt = diff/$('thumbsmain').duration;
	var op = $('thumbsmain').opacity;

	if ( diff > $('thumbsmain').duration ) {
		clearInterval( tmTimer );
		tmTimer = null;
		op = $('thumbsmain').end;
	} else {
		op = op*(1-dt) + ($('thumbsmain').end)*dt;
	}
	$('thumbsmain').opacity = op;
	Dom.setOpacity($('thumbsmain'), op);
}

