var autoAdvance = true;
var advancing = false;

function advanceSlideshow(){
	if(autoAdvance){
		if(!P8S_slideshow.isLastPic()){
			P8S_slideshow.showNext(jQuery.Event);
			window.setTimeout("advanceSlideshow()",5000);
		}
	}
}

function initDesignWorkPage(){
	$('#arrow-left').unbind('click');
	$('#arrow-left').click(function(e){
		e.preventDefault();
		autoAdvance = false;
		if(P8S_slideshow.isFirstPic()){
			$('#arrow-left').unbind('click');
			$('#arrow-left').click(SitePages.showPrev);
			$('#arrow-right').unbind('click');
			$('#arrow-right').click(SitePages.showNext);
			SitePages.showPrev(e);
		}else{
			P8S_slideshow.showPrev(e);
		}
	});
	
	$('#arrow-right').unbind('click');
	$('#arrow-right').click(function(e){
		e.preventDefault();
		autoAdvance = false;
		if(P8S_slideshow.isLastPic()){
			$('#arrow-left').unbind('click');
			$('#arrow-left').click(SitePages.showPrev);
			$('#arrow-right').unbind('click');
			$('#arrow-right').click(SitePages.showNext);
			SitePages.showNext(e);
		}else{
			P8S_slideshow.showNext(e);
		}
	});
	if(autoAdvance && !advancing){
		advancing = true;
		window.setTimeout("advanceSlideshow()",5000);
	}
	P8S_slideshow.showImage(0);
}

var SitePages = (function(){
	
	var container, inner, pgContainer, pages, curPage, totalWidth;
	
	function showPage(n){
		var pg = pages[n];
		curPage = n;
		var offsets = $(pg).position();
		$('#nav li').each(function(n,el){
			$(el).removeClass('current');
		});
		var pageId = $(pg).attr('id');
		
		if(pageId == 'page-designwork'){
			initDesignWorkPage();
		}else{
			$('#arrow-left').unbind('click');
			$('#arrow-left').click(SitePages.showPrev);
			$('#arrow-right').unbind('click');
			$('#arrow-right').click(SitePages.showNext);
		}
		
		pgContainer.animate({
			left: -offsets.left+'px'
		}, 500, "easeout", function(){
			
			switch(pageId){
				case 'page-home':
					$('#nav-hm').addClass('current');
					$('#page-home').css('background','url(assets/images/home.jpg) no-repeat left top');
					break;
				case 'page-designwork':
					$('#nav-dw').addClass('current');
					break;
				case 'page-about':
					$('#nav-ab').addClass('current');
					break;
				case 'page-reviews':
				case 'page-reviews-cont':
					$('#nav-cr').addClass('current');
					break;
				case 'page-contact':
					$('#nav-cn').addClass('current');
					break;
			}
		});
		
	}
	
	function showPrevPage(e){
		var prev = 0,
			lastPage = pages.length-1;
		
		if((curPage-1) < 0){
			prev = lastPage;
		}else{
			prev = curPage - 1;
		}
		showPage(prev);
		return false;
	}
	
	function showNextPage(e){
		var nextPage = 0,
			lastPage = pages.length-1;
		if((curPage+1) > lastPage){
			nextPage = 0;
		}else{
			nextPage = curPage + 1;
		}
		showPage(nextPage);
		return false;
	}
	
	return {
		init: function(){
			container = $('#pages');
			inner = $('.inner',container);
			pgContainer = $('.pages',inner);
			pages = $('.site-page',pgContainer);
			totalWidth = 0;
			pages.each(function(n,pg){
				totalWidth+=$(pg).width();
			});
			pgContainer.attr('style','width: '+parseInt(totalWidth+1000,10)+'px;');
			curPage = 0;
			$('.page-link').click(SitePages.goToPage);
		},
		
		goToPage: function(ev){
			var t = $(ev.currentTarget);
			var hash = t.attr('hash');
			if(hash != ''){
				hash = hash.replace(/#/,'');
				var pageToView = $('a[name='+hash+']').parent();
				var pageId = pageToView.attr('id');
				var offsets = pageToView.position();
				
				for(var i = 0; i < pages.length; i++){
					if(pageId == $(pages[i]).attr('id')){
						curPage = i;
						showPage(i);
						break;
					}
				}
			}
			
			ev.preventDefault();
		},
		
		showNext: function(e){
			e.preventDefault();
			return showNextPage(e);
		},
		
		showPrev: function(e){
			e.preventDefault();
			return showPrevPage(e);
		}
	};
	
})();

$(document).ready(function(){
	var imgCache = [];
	var images = [
		'assets/images/home.jpg',
		'assets/images/home-over.jpg',
		'assets/images/about-over.jpg',
		'assets/images/blog-over.jpg',
		'assets/images/connect-over.jpg',
		'assets/images/design-over.jpg',
		'assets/images/reviews-over.jpg',
		'assets/images/ssp-over.jpg'
	];
	var img = {};
	
	$(images).each(function(n){
		img = $(document.createElement('img'));
		imgCache.push(img.attr('src',images[n]));
	});
	
	$('#home-nav a').mouseover(function(){
		var th = $(this);
		$('#page-home').css('background','url(assets/images/home-over.jpg) no-repeat left top');
		var r = th.attr('rel').split('|');
		
		th.fadeOut(0);
		th.css('background','url('+r[1]+') no-repeat left top');
		th.fadeIn(250);
		
		if(r[0] != ''){
			$('#'+r[0]).addClass('current');
		}
	});
	$('#home-nav a').mouseout(function(){
		var th = $(this);
		var r = th.attr('rel').split('|');
		
		th.fadeOut(250,function(){
			$(this).css('background','url(assets/images/spacer.gif)');
			$(this).fadeIn(0);
		});
		
		if(r[0] != ''){
			$('#'+r[0]).removeClass('current');
		}
	});
	
	$('#page-home').css('background','url(assets/images/home.jpg) no-repeat left top');
	$('#home-nav').removeClass('hidden');
	
	SitePages.init();
	
	$('#site-load').addClass('hidden');
	$('#pages').removeClass('hidden');
	
	$('#arrow-left').click(SitePages.showPrev);
	$('#arrow-right').click(SitePages.showNext);
	
	$('#nav-hm').addClass('current');
	
	window.setTimeout("P8S_slideshow.init('works');",1000);
	
});
