(function($){
	
	function searchTwitter() {
		var url = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=nonface&count=12&trim_user=1&callback=?';
		var dl = $('#content div.news dl');

		$.getJSON(url, function(data){
			dl.empty();
			$.each(data, function(i,item){
				var tweetContent = item.text;
				var dateString = item.created_at;
				var day = dateString.slice(0,3);
				var month = dateString.slice(4,7);
				var dayNum = dateString.slice(8,10); 
				var year = dateString.slice(26,30);
				
				if (item.in_reply_to_status_id_str === null){
					dl.append(
						'<dt>' +
						'	<span class="day">' + day + '</span>' +
						'	<span clas="month">' + month + '</span>' + 
						'	<span class="dayNumber">' + dayNum + '</span>'+
						'	<span class="year">' + year + '</span>'+
						'</dt>' +
						'<dd>' + tweetContent + '</dd>'
					);
				}
			});
			
			// var tweet = dl.find('dd');
			// 			
			// 			tweet.each(function(){
			// 				var text = $(this).text();	
			// 				var exp = /(\b(http|https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
			// 				
			// 			  	text.replace(exp,"<a href='$1'>$1</a>");
			// 			});
		});
	}
	
	function initMusicPlayer(){
		//var timeout = setTimeout("$('#musicPlayer').animate({bottom: '-80px'}, 600).removeClass('open')", 3000);
		$('#musicPlayer a').click(handleMusicPlayerClick);
	}
	
	function handleMusicPlayerClick(e){
		e.preventDefault();
		
		var musicContainer = $('#musicPlayer');
		var musicBtn = musicContainer.find('a');
		var s = 300;
		
		if (musicContainer.hasClass('open')){
			musicContainer.animate({bottom: '-80px'}, s).removeClass('open');
		} else {
			musicContainer.animate({bottom: '0px'}, s).addClass('open');
		}
	}
	
	function handleNavClick(e){
		e.preventDefault();
		
		var target = $(e.target);
		var href = target.parents('li').find('a').attr('href');
		var body = $('body');
		var nav = $('#mainNav');
		var page = $('#content');
		var pageHeight = page.outerHeight();
		var loading = '<div class="loading"><p>Loading Page...</p></div>';
		var s = 300;
		
		page.after('<div class="placeHolder"></div>');
		
		var placeHolder = $('div.placeHolder');

		page.animate({opacity: 0}, s, function(){
			placeHolder.height(pageHeight).show();
			page.empty().load(href + ' #content', function(){
				if (href == 'index.html'){
					handleIndexPageLoad(body);
				}
				if (href == 'media.html'){
					handleMediaPageLoad(body);
				}  
				if (href =="drums.html"){
					handleDrumsPageLoad(body);
				}
				if (href== 'photo.html'){
					handlePhotoPageLoad(body);
				}
				if (href == 'design.html'){
					handleDesignPageLoad(body);
				}
				if (href == 'contact.html'){
					handleContactPageLoad(body);	
				}
				page.animate({opacity: 1}, s);
				placeHolder.remove();
			});
		});
		nav.find('li').removeClass('active');
		target.parents('li').addClass('active');
		//location.hash = href;
	}
	
	function handleHomeClick(e) {
		e.preventDefault();
		
		var target = $(e.target);
		var body = $('body');
		var nav = $('#mainNav');
		var page = $('#content');
		var href = 'index.html';
		var pageHeight = page.outerHeight();
		var loading = '<div class="loading"><p>Loading Page...</p></div>';
		var s = 300;
		
		page.after('<div class="placeHolder"></div>');
		
		var placeHolder = $('div.placeHolder');
		
		page.animate({opacity: 0}, s, function(){
			placeHolder.height(pageHeight).show();
			page.empty().load(href + ' #content', function(){
				handleIndexPageLoad(body);
				page.animate({opacity: 1}, s);
				placeHolder.remove();
			});
		});
		nav.find('li').removeClass('active');
	}
	
	function handleDrumsPageLoad(body){
		body.ytLoader({
			username: 'nonface',
			listContainerID: 'videoContainer'
		}).flickrGallery({
			userID: '57548341@N07',
			galleryLocation: '.imageGallery',
			perPage: '6',
			get: 'allPhotos'
		}).attr('id','drumsPage');
	}
	
	function handlePhotoPageLoad(body){
		body.flickrGallery({
			galleryLocation: '.imageGallery',
			perPage: '15',
			get: 'allPhotos'
		}).attr('id','photoPage');
	}
	
	function handleDesignPageLoad(body){
		body.attr('id','designPage');
		
		$('#portfolio .portfolioItem').click(function(e){
			e.preventDefault();
			var href = $(this).find('li.title a').attr('href');
			window.open(href);
		});
	}
	function handleIndexPageLoad(body){
		body.ytLoader({
			username: 'nonface',
			listContainerID: 'videoContainer'
		}).flickrGallery({
			galleryLocation: '.imageGallery',
			get: 'allPhotos',
			perPage: '6'
		}).attr('id','homePage');
		
		searchTwitter();
	}
	
	function handleContactPageLoad(body){
		body.attr('id','contactPage');
		$('dd.facebook a, dd.twitter a, dd.flickr a').click(function(e){
			e.preventDefault();
			window.open($(this).attr('href'));
		});
	}
	function handleMediaPageLoad(body){
		var photosets = $('#photosetList');
		var opac = photosets.css('opacity');
		
		body.ytLoader({
			username: 'nonface',
			listContainerID: 'videoContainer'
		}).flickrGallery({
			galleryLocation: '#imageGallery',
			subnavLocation: '#photosetList',
			get: 'photosetList'
		}).flickrGallery({
			userID: '57548341@N07',
			galleryLocation: '#drumPhotos',
			perPage: '50',
			get: 'allPhotos'
		}).attr('id','mediaPage');
		
		photosets.hover(function(){
			photosets.stop().animate({opacity: 1}, 300);
		}, function(){
			photosets.stop().animate({opacity: opac}, 300);
		});
	}
	
	function handleMediaTabsClick(e){
		e.preventDefault();
		
		var target = $(e.target);
		var tabs = $('#mediaSubnav');
		var page = $('#content');
		var videoContent = $('#videoContent');
		var photoContent = $('#photoContent');
		var drumContent = $('#drumsPhotoContent');
		
		if (target.hasClass('videos') || target.parent().hasClass('videos')){
			videoContent.addClass('active');
			photoContent.removeClass('active');
			drumContent.removeClass('active');
			tabs.find('li.photos').removeClass('active');
			tabs.find('li.dPhotos').removeClass('active');
			tabs.find('li.videos').addClass('active');
		}
		if (target.hasClass('photos') || target.parent().hasClass('photos')){
			photoContent.addClass('active');
			drumContent.removeClass('active');
			videoContent.removeClass('active');
			tabs.find('li.videos').removeClass('active');
			tabs.find('li.dPhotos').removeClass('active');
			tabs.find('li.photos').addClass('active');
		}
		if (target.hasClass('dPhotos') || target.parent().hasClass('dPhotos')){
			drumContent.addClass('active');
			photoContent.removeClass('active');
			videoContent.removeClass('active');
			tabs.find('li.videos').removeClass('active');
			tabs.find('li.photos').removeClass('active');
			tabs.find('li.dPhotos').addClass('active');
		}
	}
	
	function locateLinks() {
		
	  	var exp = /(\b(http|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
	  	return text.replace(exp,"<a href='$1'>$1</a>"); 
	}
	
	$(document).ready(function(){
		
		searchTwitter();
		initMusicPlayer();
		$('#mainNav li, ul.more li').click(handleNavClick);
		$('#header h1 a').click(handleHomeClick);
		$('#mainNav li').hover(function(){
			if ($(this).hasClass('active')){
				return false;
			}
			$(this).find('span').stop().animate({opacity: 1}, 300);	
		}, function(){
			$(this).find('span').stop().animate({opacity: 0}, 300);
		});
		$('#mediaSubnav').live('click',handleMediaTabsClick);
	});
	
})(jQuery);

