

$('document').ready(function (){

//Projects Pages - Dynamic Block Load
if($('.project-link').length > 0 || $('.larger-preview').length > 0){
	//include loadProjects plugin
	includeNewFile('/js/jquery.loadprojects.js', 'script');

	//initiate project loader via classed links
	$('.project-link').loadprojects({
	    selectors: ['h3:first','.slides img:first', '.tech-logos']
	    });

}

//Homepage polaroid images - if cssanimations is supported, we'll use that instead.
if($('.photo-block').length > 0 && $('.no-cssanimations').length > 0){
	$('.photo-block').hover(
		function(){
			$(this).find('.photo-img img:first').animate({opacity: 0});
		},
		function(){
			$(this).find('.photo-img img:first').animate({opacity: 0.7});

		}
	);
}


//Zebra Striping on Tables
if($('#block_right-skillslist').length > 0){
	$('#block_right-skillslist table tr:nth-child(odd)').addClass("odd");
}

///////TO DO: Convert to plugin. \\\\\\\
//// Viewport Slider Functions \\\\\
if($('.project-block').length > 0){
        
    var slideHeight = setSlideHeight();

    $('.project-block .slides').each(function(index){
         
         // Wrap slides with #slideInner(index)
         $(this).wrapInner('<div id="slideInner' + ((index)+ 1) + '" class="slideInner"></div>');
                                             
                     });
                                             
                     
             $(this).find('div[class=slideInner]').each(function(){
                     var numberofSlides = $(this).find('img').length;
                     slideHeight = setSlideHeight();
                     $(this).css ("height", slideHeight * numberofSlides);
             });
                                      

    // Populate a list in the slideshowNav for each list item in the slidescontainer
    $('.project-block').each(function(index){
                     var numberofSlides = $('div[class=slideInner] img', this);
                     var howmanySlides = $('div[class=slideInner] img', this).length;
                     var currentNav = $('div[class=slideshowNav]', this);	
                     
                     if (howmanySlides >= 2) {
			$(currentNav).html('');
                     $(numberofSlides, this).each(function(index){
                        $(currentNav).append('<li class="slide">' + '<a class="slide_' + ((index)+1) + '">' + ((index)+1) + '</a>' + '</li>');
                     });
                     }
    // wrap the list items inside slideshowNav in a ul
    $('div[class=slideshowNav] li', this).wrapAll('<ul class="slidenavul">');
    $('.slidenavul').before('<h3>Browse Slides</h3>');
    $(this).find('.slide').each(function(){
        $(this).bind('click', function(){
            var activeSlideInner = $(this).parents('.project-block').find('.slideInner');
            var getSlideNumber = $(this).children('a').attr('class').toString();
            var slideNumber = getSlideNumber.slice((getSlideNumber.indexOf('slide_')-1), getSlideNumber.length);
            slideHeight = setSlideHeight();
            activeSlideInner.animate({
		'marginTop' : -slideHeight * (slideNumber-1)

            });
            
        });
    });
                                        
  });
    
    $(window).resize(function(){
        slideHeight = setSlideHeight(); 
    
        $('project-box .slideInner').each(function(){
            var numberofSlides = $(this).find('img').length();
            $(this).css ({"height": slideHeight * numberofSlides});
        });
        
        $('.slideInner').css('marginTop', 0);
    });
	
        	 
}//END IF STATEMENT - .project-block

// Code Highlighting JS Include - fires only when needed.
// Courtesy of http://alexgorbatchev.com/SyntaxHighlighter/ 
if($('.include-code').length > 0){	
	includeNewFile('/js/syntaxhighlighter/scripts/shCore.js', 'script');
	includeNewFile('/js/syntaxhighlighter/scripts/shBrushJScript.js', 'script');
	includeNewFile('/js/syntaxhighlighter/styles/shCore.css', 'link');
	includeNewFile('/js/syntaxhighlighter/styles/shThemeDefault.css', 'link');
	
	SyntaxHighlighter.defaults['auto-links'] = false;
	SyntaxHighlighter.all();

}//END IF STATEMENT - .include-code

});//end DOM READY

//Add elements to the dom on an as-needed basis.
function includeNewFile(fileName, elementType){

	var fileElement = document.createElement(elementType);
	
	if(elementType == 'script'){
		fileElement.src = fileName;
		fileElement.type ='text/javascript';
		
	}else if(elementType == 'link'){//cross browser (...IE) friendly way of doing it:	
		fileElement = '<link rel="stylesheet" type="text/css" href="' + fileName + '" />';
	}
	$('head').append(fileElement);
	
}

//Responsive Slideshow: Adjust the height of the block based on the width of the browser.
//Used to recalculate the math for sliding animation.

function setSlideHeight(){
	if($('.iexpl').length == 0){
		if($(window).width() >= 768) {
		    return 500;
		}else if($(window).width() < 768){
		    return 250;
		}
	}else{
		return 500;
	};
};

