/*
 * Define Bergstroms namespace
 */
if(typeof Bergstroms === "undefined") {
	Bergstroms = new Object();
}

/*
 * Layout effects
 */
Bergstroms.Layout = function( fadein ) {
	$('.fade-in').fadeIn(1000);
	setTimeout("$('.fade-in').css('display', 'block');", 1001);
	//setTimeout("$('#logo_animation').css('display', 'none');$('#logomedia').html('');", 4000);
};

/*
 * Mirror effect
 */
Bergstroms.Mirror = function( fadein ) {
	$('#mirror li span').append('<span class="fade"></span>');
	
	if( !fadein ) {
		Bergstroms.MirrorChange( 1, 0, 1, 3, false, 10000 );
		Bergstroms.MirrorChange( 2, 0, 4, 30, false, 10000 );
		Bergstroms.MirrorChange( 3, 0, 4, 30, false, 10000 );
		Bergstroms.MirrorChange( 4, 0, 4, 30, false, 10000 );
		Bergstroms.MirrorChange( 5, 0, 4, 30, false, 10000 );
	}
	
	setTimeout( "Bergstroms.MirrorChange( 1, 2000, 1, 3, true, 10000 );", 2500);
	setTimeout( "Bergstroms.MirrorChange( 2, 2000, 4, 30, true, 10000 );", 3000);
	setTimeout( "Bergstroms.MirrorChange( 3, 2000, 4, 30, true, 10000 );", 3500);
	setTimeout( "Bergstroms.MirrorChange( 4, 2000, 4, 30, true, 10000 );", 4000);
	setTimeout( "Bergstroms.MirrorChange( 5, 2000, 4, 30, true, 10000 );", 4500);
};

var entities = new Array();

Bergstroms.MirrorChange = function( entity, speed, min, max, loop, interval ) {
	var unique = false;
	while( !unique ) {
		var i = Math.floor( Math.random() * max );
		i = i + min;
		
		if( i != entities[1] &&  i != entities[2] && i != entities[3] && i != entities[4] && i != entities[5] )
		{
			entities[entity] = i;
			unique = true;
		}
	}
	
	$('span.mirror_' + entity).css( "background-position", "-" + i * 128 + "px 0px" );
	$('span.mirror_' + entity +' span').animate({
			'opacity': 0
		}, speed, function() {
			$('span.mirror_' + entity +' span').css( "background-position", "-" + i * 128 + "px 0px" );
			$('span.mirror_' + entity +' span').animate({
				'opacity': 1
			}, speed, function() {
				if( loop ) {
					setTimeout( "Bergstroms.MirrorChange( " + entity + ", " + speed + ", " + min + ", " + max + ", true, " + interval + " );", interval );
				}
				})
		});
};

/*
 * Menu glow effect
 */
Bergstroms.Menu = function() {
	$('#menu li a').append('<span class="hover"></span>');
	// span whose opacity will animate when mouse hovers.
	
	$('#menu li a').hover(
		function() {
			$('.hover', this).stop(true, false).animate({
				'opacity': 0
			}, 50)  
		},  
		function() {
			$('.hover', this).stop(true, false).animate({
				'opacity': 1
			}, 500)
		}
	);
};

/*
 * Document ready event
 */
$(document).ready(function() {
	Bergstroms.Layout();
	Bergstroms.Mirror( remote_referer );
	Bergstroms.Menu();
});

