$(document).ready(function(){
    
	// Open links in new window
	$('.stream-twitter p a').attr('target','_blank');
	
	// Home Banner
	$(function() {
		$('.rollover').hover(function() {
			var currentImg = $(this).attr('src');
			$(this).attr('src', $(this).attr('name'));
			$(this).attr('name', currentImg);
		}, function() {
			var currentImg = $(this).attr('src');
			$(this).attr('src', $(this).attr('name'));
			$(this).attr('name', currentImg);
		});
	});
	
	
	// Link project image & title link together
	/*$('ul.projects a.project-link').hover(
		function () {
			$(this).parentsUntil('ul').find('a.project-link').addClass('hover');
		}, 
		function () {
			$(this).parentsUntil('ul').find('a.project-link').removeClass('hover');
		}
	);*/
	
	
	// Animate anchor links
	$('.smoothlinks .stream-people a').click(function(){
		
		var person = $(this).attr('href').split('#')[1];
		if(person) {
			$('html, body').animate({
				scrollTop: $('#'+person).offset().top
			}, 1000);
			return false;
		}
		
	});
	
	$('#contact-link').click(function(){
		
		$('html, body').animate({
			scrollTop: $('#contact').offset().top
		}, 1000);
		return false;
		
	});
	
	// News RSS Link
	$('#btn-rss').hover(function() {
		var currentImg = $(this).attr('src');
		$(this).attr('src', $(this).attr('name'));
		$(this).attr('name', currentImg);
	}, function() {
		var currentImg = $(this).attr('src');
		$(this).attr('src', $(this).attr('name'));
		$(this).attr('name', currentImg);
	});
	
	
	// Project Navigation
	
	$("#projects-nav").superfish({ 
		delay: 500,
		speed: 0,
		autoArrows:  false
	}); 
	
	$("#projects-nav a").click(function(){ 				
		
		if(!$(this).hasClass('tag')) {
			$("#projects-nav > li").removeClass('current');
			$(this).parentsUntil('ul#projects-nav').addClass('current');
			
			$('#project-results').addClass('project-results-loading');
			$('#project-results').load($(this).attr('href').replace('portfolio','portfolio/ajax'), function() {
				$('#project-results').removeClass('project-results-loading');
			});
		}
		
		return false; 
	});
	
	
	// Project Slideshow
	$('#slider-project').jcarousel({
        scroll: 1,
		wrap: 'circular',
        itemVisibleInCallback: {onBeforeAnimation: project_itemVisibleInCallback},
        itemVisibleOutCallback: {onAfterAnimation: project_itemVisibleOutCallback},
		initCallback: project_initCallback,
		buttonNextHTML: null,
        buttonPrevHTML: null
    });
	
	function project_itemVisibleInCallback(carousel, item, i, state, evt) {
		var idx = carousel.index(i, slideData.length);
		carousel.add(i, project_getItemHTML(slideData[idx - 1], i));
		$('.slide-number').text(idx);
		$('.quick-description p').text(slideData[idx - 1].description);
		
		if(slideData[idx - 1].type.split('/')[0] == 'video') {
			/*$('div.mediatube:not(.xplayer) #mediaplayer'+i).flash({
			/*$('#mediaplayer'+i).flash({
				swf: '/assets/flash/player.swf',
				flashvars: {
					file:slideData[idx - 1].link,
					image:slideData[idx - 1].thumbnail,
					controlbar:'over',
					skin:'/assets/flash/modieus.zip'
				},
				params: {  
					allowfullscreen: true,
					allowscriptaccess: 'always'
				},
				height: 400,
				width: 710
			});*/
			
			jwplayer('mediaplayer'+i).setup({
				'flashplayer': '/assets/mediaplayer/player.swf',
				'file': slideData[idx - 1].link,
				'image': slideData[idx - 1].thumbnail,
				'controlbar': 'over',
				'width': '710',
				'height': '400',
				skin:'/assets/mediaplayer/modieus.zip'
			});
		}
		
		if(slideData[idx - 1].type.split('/')[0] == 'image') {
			if(slideData.length > 1) {
				$('#image'+i).bind('click', function() {
					carousel.next();
				}).css('cursor','pointer');
			}
		}
	};
	
	function project_itemVisibleOutCallback(carousel, item, i, state, evt) {
		carousel.remove(i);
	};
	
	function project_getItemHTML(item, i) {
		
		var output = '';
		var typeSegments = item.type.split('/');
		
		if(typeSegments[0] == 'image') {
			output = '<div id="image'+i+'" style="text-align:center;background-color:#000;"><img src="'+item.link+'" height="400"/></div>';
		}
		
		if(typeSegments[0] == 'video') {
			output = '<div style="background-color:#000;" id="mediaplayer'+i+'"></div>';
		}
		
		return output;
	};
	
	function project_initCallback(carousel) {
		if(slideData.length <= 1) {
			//$('#project-slide-nav').hide();	
			$('#project-slide-nav').addClass('readonly');
		}
		
		$('.slides-total').text(slideData.length);
		
		$('.nav-next').bind('click', function() {
			if(!$(this).parent().hasClass('readonly')){
				carousel.next();
			}
			return false;
		});
	
		$('.nav-prev').bind('click', function() {
			if(!$(this).parent().hasClass('readonly')){
				carousel.prev();
			}
			return false;
		});
	};
	
	
	// Project Search
	$('#project-search').submit(function() {
		
		var data = $(this).serialize();
		var path = $(this).attr('action');
		
		if($('#keywords').val().length >= 3){
			$('#project-results').addClass('project-results-loading');
			$.post(path, data, function(data) {
				$('#project-results').html(data);
				$('#project-results').removeClass('project-results-loading');
			});
		}
		
		return false;
	});
	
	
	// Comments
	
	
});



$.fn.limitMaxlength = function(options){

	var settings = jQuery.extend({
		attribute: "maxlength",
		onLimit: function(){},
		onEdit: function(){}
	}, options);

	// Event handler to limit the textarea
	var onEdit = function(){
		var textarea = jQuery(this);
		var maxlength = parseInt(textarea.attr(settings.attribute));

		if(textarea.val().length > maxlength){
			textarea.val(textarea.val().substr(0, maxlength));

			// Call the onlimit handler within the scope of the textarea
			jQuery.proxy(settings.onLimit, this)();
		}

		// Call the onEdit handler within the scope of the textarea
		jQuery.proxy(settings.onEdit, this)(maxlength - textarea.val().length);
	}

	this.each(onEdit);

	return this.keyup(onEdit)
				.keydown(onEdit)
				.focus(onEdit);
}
