$(function() {
	
	if($('.section.subscription.access').length) {
		$('body').attr('class', '').addClass('access_controlled');
	}
	
	$('body').addClass('has_js');
	
	/* ELEMENT: Login */
	if($('.section.login').length > 0) {
		$('body').addClass('has_login');
		
		loginText = 'Enter email and password...';
		
		$('.section.login input[type=text]').unbind('focus').unbind('blur').val(loginText).focus(function () {
			if ($(this).val() == loginText) { $(this).val(''); }
	    }).blur(function() {
			if ($(this).val() == '') { $(this).val(loginText); }
		});
		
		$('.section.login button[type=submit] span').text('Login');
	}
	
	/* ELEMENT: Dashboard */
	$dashboard = $('#dashboard');
	
	if($.cookie('dashboard_top') > 0) $dashboard.css('top',parseInt($.cookie('dashboard_top')));
	
	if($dashboard.find('.controls .account').length > 0) {
		$dashboard.find('.toggle').removeClass('toggle').unbind('click');
		$dashboard.find('.section').append('<a class="tab toggle">Tab</a>');
		$dashboard.draggable({
			axis			: 'y',
			handle			: '.tab',
			containment		: [0,0,0,45],
			stop			: function() {
				$.cookie('dashboard_top', parseInt($dashboard.css('top')));
			}
		});
	}
		
	$('#header .nav .community > a').append(' <img src="/clients/cj_wilson/img/navigation-sub-icon.png" />');
	
	$('.section.all.blogs > .header > .nav .add a').text('+');
	
	/* ELEMENT: News Accordian */
	if($('#main .section.news').length > 0) {
		$news = $('#main .section.news');
		
		$news.find('.item').each(function() {
			$(this).css({
				height				: $(this).find('.title').outerHeight(),
				overflow			: 'hidden'
			});
		}).filter(':first-child').each(function() {
			open($(this));
		});
		
		$('#main .section.news .article > .header > .title a')
			.click(function(e) {
				e.preventDefault();
				
				$item = $(this).closest('.item')
			
				if(!$item.hasClass('open')) {
					open($item);
					close($item.siblings('.open'));
				} else {
					close($item);
				}
			});
	}
		
		
	/* ELEMENT: Charity Blog Accordian */
	if($('.charity #main .section.blog').length > 0) {
		$blog = $('#main .section.blog');
		
		$blog.find('.item').each(function() {
			$(this).css({
				height				: $(this).find('.title').outerHeight(),
				overflow			: 'hidden'
			});
		}).filter(':first-child').each(function() {
			open($(this));
		});
		
		$('#main .section.blog .article > .header > .title a')
			.click(function(e) {
				e.preventDefault();
				
				$item = $(this).closest('.item')
			
				if(!$item.hasClass('open')) {
					open($item);
					close($item.siblings('.open'));
				} else {
					close($item);
				}
			});
	}
		
		
		if(!$('body').hasClass('home') && !$('body').hasClass('store') && !$('body').hasClass('charity') && !$('#main').hasClass('full')) {
			$('#main, #aside').equalHeights();
		}
		
		function open($element) {
			$element.animate({
				height: $element.find('.header').outerHeight() + $element.find('.content').outerHeight() + $element.find('.footer').outerHeight()
			}).addClass('open');
		}
		
		function close($element) {
			$element.animate({
				height: $element.find('.title').outerHeight()
			}).removeClass('open');
		}
		
		/* ELEMENT: Twitter Feed */
		$('#container').prepend('<div class="main full"><div class="section twitter feed"><div class="header"><h3 class="title">Twitter Feed</h3><ul class="nav actions"><li><a href="http://twitter.com/str8edgeracer">Follow CJ Wilson</a></li></ul></div><div class="content details"></div><div class="footer"><ul class="nav actions"><li><a href="http://twitter.com/str8edgeracer">Follow CJ Wilson</a></li></ul></div></div></div>').find('.twitter.feed .content').social({network:'twitter',user:'str8edgeracer',count:1,twitter:{output:'<span class="tweet"><span class="text">{text}</span> <span class="time"><a href="{tweet_url}">Posted {time}</a></span> <span class="follow"><a href="{user_url}">Follow {user}</a></a></span>'}});
		
		/* ELEMENT: Billboard */
		$billboard = $('#billboard');
		
		if($billboard.find('.slide').length > 1) {
			$billboard.wrapInner('<div id="billboard-outer"><div id="billboard-inner"></div></div>');
			
			$billboard.append('<div class="nav"><ul><li class="prev"><a href="#">Previous</a></li><li class="next"><a href="#">Next</a></li></ul></div>');
			
			slideWidth = $billboard.find('.slide').outerWidth();
			slideCount = $billboard.find('.slide').length;
			
			$('#billboard-inner').width(slideWidth * slideCount);
			
			$billboard.find('.nav .prev a').hide();
			
			$billboard.find('.nav a:not(.disabled)').click(function(e) {
				e.preventDefault();
				
				if(!$('#billboard-inner:animated').size()) {			
					if($(this).parent('li').hasClass('next')) {
						$('#billboard-inner').animate({
							left	: parseInt($('#billboard-inner').css('left')) - slideWidth 
						}, 250, checkBillboardButtons);
					} else {
						$('#billboard-inner').animate({
							left	: parseInt($('#billboard-inner').css('left')) + slideWidth
						}, 250, checkBillboardButtons);
					}
				}
			});
			
			function checkBillboardButtons() {
				$prev = $billboard.find('.nav .prev a');
				$next = $billboard.find('.nav .next a');
				
				if(parseInt($('#billboard-inner').css('left')) == 0 && $prev.is(':visible')) {
					$prev.fadeOut('fast');
				} else if(parseInt($('#billboard-inner').css('left')) == -slideWidth * (slideCount-1) && $next.is(':visible')) {
					$next.fadeOut('fast');
				}
				
				if(parseInt($('#billboard-inner').css('left')) < 0 && $prev.is(':hidden')) {
					$prev.fadeIn('fast');
				}
				
				if(parseInt($('#billboard-inner').css('left')) > -slideWidth * (slideCount-1) && $next.is(':hidden')) {
					$next.fadeIn('fast');
				}
			}
		}
		
		function buildSlider($element, slideClass) {
			id			= $element.attr('id')
			$slides		= $element.find('.' + slideClass);
			
			if($element.attr('id') == '') { $element.attr('id', 'slider'); }
		
			if($slides.length > 1) {
				$element.wrapInner('<div id="' + id + '-outter"><div id="' + id + '-inner"></div></div>');
		
				$element.append('<div class="nav"><ul><li class="prev"><a href="#">Previous</a></li><li class="next"><a href="#">Next</a></li></ul></div>');
		
				slideWidth = $slides.outerWidth();
				slideCount = $slides.length;
		
				$('#' + id + '-inner').width(slideWidth * slideCount);
		
				$element.find('.nav .prev a').hide();
			}
		}
		
		function move($element, incriment, direction, speed) {
			
		}
		
		function checkButtons($element, $prev, $next) {
			if(parseInt($element.css('left')) == 0 && $prev.is(':visible')) {
				$prev.fadeOut('fast');
			} else if(parseInt($element.css('left')) == -slideWidth * (slideCount-1) && $next.is(':visible')) {
				$next.fadeOut('fast');
			}
			
			if(parseInt($element.css('left')) < 0 && $prev.is(':hidden')) {
				$prev.fadeIn('fast');
			}
			
			if(parseInt($element.css('left')) > -slideWidth * (slideCount-1) && $next.is(':hidden')) {
				$next.fadeIn('fast');
			}
		}
	
	/* ELEMENT: Cufon */
	Cufon.replace('#header :not(#billboard) .nav a', {
		fontFamily	: '911 Porscha',
		color		: '-linear-gradient(#FFF,#666)',
		textShadow	: '0 1px 2px rgba(0,0,0,0.75)',
		hover 		: {
			color		: '-linear-gradient(#FFF,#29678E)'
		} 
	});
	Cufon.replace('#billboard .slide .title', {
		fontFamily	: '911 Porscha',
		color		: '-linear-gradient(#FFF,#FFF,#929292,#929292)',
		textShadow	: '0 1px 0 rgba(0,0,0,0.75)'
	});
	Cufon.replace('body .section > .header > .title', {
		color		: '-linear-gradient(#FFF,#b5b5b5)',
		textShadow	: '0 1px 0 rgba(0,0,0,0.75)'
	});
	Cufon.replace('.media .section.feature > .header .title', {
		fontFamily	: '911 Porscha',
		color		: '-linear-gradient(#FFF,#FFF,#666,#666)',
		textShadow	: '0 1px 2px rgba(0,0,0,0.75)'
	});
	Cufon.replace('.blogs .section.all.blogs > .header > .actions .add a', {
		color		: '-linear-gradient(#FFF,#b5b5b5)',
		textShadow	: '0 1px 0 rgba(0,0,0,0.75)'
	});
	
	/* PAGE: Home */
	if($('body').hasClass('home')) {
		$('.section.events').before('<div class="section lastfm feed"><div class="header"><h3 class="title">Last.FM</h3><div class="meta"><p class="description">Check out what CJ\' been listening to</p></div></div><div class="content details"></div><div class="footer"></div>').closest('#container').find('.lastfm.feed .content').social({network:'lastfm',user:'cjwilson36',count:5});
	}
	
	/* PAGE: Bio */
	if($('body').hasClass('bio')) {
		$('.section.social.links').after('<div class="section lastfm feed"><div class="header"><h3 class="title">Last.FM</h3></div><div class="content"></div></div>').closest('#container').find('.lastfm.feed .content').social({network:'lastfm',user:'cjwilson36',count:5});
	}
	
	/* Weird spacing issue with Cufon - hacky fix */
	$('#header .nav').css('overflow','hidden').hover(function() {
		$(this).css('overflow','visible');
	});
	
});
