$(document).ready(function() {
	initFonts();
	initLayout();
	initHeader();
	initHome();
	initQuotes();
	initRows();
	initScrollTo();
	initWork();
	initContact();
	initInfinity();
	initTracking();
	$(window).bind('resize', function() {
		initLayout();
	});	
});

function initFonts()
{
	Cufon.replace('h2, h3 span, a.prev span, a.next span, #quotes li, .reference, #footer a', {
		hover: true
	});
}

function initLayout()
{
	var windowHeight = $(window).height();
	var navHeight = $('#navsub').height();
	var navPosition = $('#navsub').position();	
	var navPositionTop = (windowHeight / 6) - (navHeight + 90 / 2);	
	$('#nav').css({
		'position' : 'fixed',
		'top' : navPositionTop
	});
	// position nav then make visible for grandma
	if ($.browser.msie) {
		$('#navsub').css({
			'left' : navPosition.left,
			'visibility' : 'visible'
		});
	};
	$('#content').css('min-height', windowHeight);
}

function initHeader()
{
	animatedcollapse.addDiv('header', 'fade=1');
	animatedcollapse.init();
	animatedcollapse.ontoggle=function($, divobj, state){
		if (divobj.id == 'header'){
			if (state == 'block'){
				$('#sparkalicious').text('Close');
			} else {
				$('#sparkalicious').text('Sparkalicious');
			}
		}
	}
	$('#sparkalicious').css('visibility', 'visible');
}

function initHome()
{
	$('#headlines').jcarousel({
		scroll:1,
		auto:6,
		initCallback:initCarousel,
		itemVisibleInCallback:initFeatured,
		buttonNextHTML:null,
		buttonPrevHTML:null,
		easing:'easeInSine',
		wrap: 'both'
    });

	$('#headlines li').mouseenter(function() {
		$('#headlines').jcarousel('stopAuto');	
	}).mouseleave(function() {
		$('#headlines').jcarousel('startAuto');	
	});
	
	fancyLoad.load($('ul#items li a'));
	fancyLoad.load($('ul#headlines li'));
}

function initFeatured(carousel, li, index, state)
{
	$('#section span').text($('#headlines li:eq(' + (index - 1) + ')').find('img').attr('alt'));
	Cufon.replace('h2#section');
}

function initCarousel(carousel)
{
	$('#carousel #prev').bind('click', function(event) {
        carousel.prev();
		event.PreventDefault;
        return false;
    });

    $('#carousel #next').bind('click', function(event) {
        carousel.next();
		event.PreventDefault;
        return false;
    });
}

function initRows()
{
	$('#items li:first').addClass('first');
	$('#items li:last').addClass('last');	
	$('#grid li:nth-child(2n)').addClass('last');
}

function initScrollTo()
{
	$('#scrollUp').click(function(event) {
		$.scrollTo('#sparkalicious', 450);
		event.PreventDefault;
		return false;
	});
}

function initInfinity()
{
	$('body#news #items').infinitescroll({
		navSelector  : "li#pagination",
		nextSelector : "a#more:last",
		itemSelector : "#items li",
		loadingText  : "Loading more posts.",
		donetext	 : "No more posts.",
		loadingImg   : "loader.gif",
		debug        : true
	}, function(){
		window.callbackcontext = this;
		window.console && console.log('callbackcontext',this,$(this).find('p'));
		Cufon.replace('#items li h3 span');
		$('body#news #items li').removeClass('last');
		$('body#news #items li:last').addClass('last');
	});
}

function initWork()
{
	fancyLoad.load($('ul#grid li'));
	fancyLoad.load($('ul#project li'));
	$('#summary ul li, #share ul li').prepend('- ');
	$('#share ul li:eq(1)').css('margin-bottom', '10px');	
}

var fancyLoad =
{
	load: function(element) {
		$loading = element.find('.mask')
		$img = element.find('img')
		$loading.css('height',$img.attr('height'))
		$loading.css('width',$img.attr('width'))
		$loading.show();
		
		element.each(function(index,elem) {
			$(elem).data('src',$(elem).find('img').attr('src'))
		});
		$img.attr('src','#')
		
		element.each(function(index,elem) {
			$e = $(elem)
			$i = $e.find('img')
			$i.bind('load readystatechange',function(e) {
				if (this.complete || (this.readyState == 'complete' && e.type =='readystatechange')) {
					$(e.target).siblings('.mask').fadeOut(400)
				}
			})
			$i.attr('src',$e.data('src'))
			
		}) 		
	}
}

function initQuotes()
{
	
	$("#quotes").css('visibility', 'visible');
	
	$("#quotes li").hide();

	function showNextItem(){  

		var index = arguments[0] || 1;  
		var $curLi = $("#quotes li:nth-child("+index+")");  
		var totalItems = $("#quotes li").length;  

		$curLi.fadeIn("fast", function(){  
			setTimeout(function(){  
				$curLi.fadeOut("slow", function(){  
					index = (index < totalItems) ? index+1 : 1;  
					showNextItem(index);  
				});  
			}, 9900);  
		});  
	}

	showNextItem();
	
}






	




