/* ???????????????????????? Powered by Type & Grids? www.typeandgrids.com ???????????????????????? */ jQuery.easing.def = "easeOutQuad"; $(document).ready(function() { // Make enlarge buttons inactive if no onClick event $(".enlargeButton").each(function() { if ( $(this).attr("onClick") == undefined ) { $(this).addClass("projectNavInactive"); }; }); // For fluid video embedding $(".video").fitVids(); // Hide project info $(".projectInfo").css("display", "none"); // Don't hide video info $(".videoInfo").css("display", "inline"); // Move projects to second column $(".project:odd").appendTo("#col2"); // Project thumbnail hover $(".projectThumbnail").on("mouseenter", function(e) { $(this).children(".projectThumbnailHover").fadeIn(300); $(this).children(".projectThumbnailHover").find("h4").css("display", "block"); $(this).children(".projectThumbnailHover").find("h4").css("opacity", "0"); $(this).children(".projectThumbnailHover").find("h4").delay(200).animate({left: '30', opacity: 1}, 200); $(this).children(".projectThumbnailHover").find("h5").css("display", "block"); $(this).children(".projectThumbnailHover").find("h5").css("opacity", "0"); $(this).children(".projectThumbnailHover").find("h5").delay(350).animate({left: '30', opacity: 1}, 200); }) $(".projectThumbnail").on("mouseleave", function(e) { $(this).children(".projectThumbnailHover").fadeOut(200); $(this).children(".projectThumbnailHover").find("h4").animate({left: '0', opacity: 0}, 0); $(this).children(".projectThumbnailHover").find("h5").animate({left: '0', opacity: 0}, 0); }) // Hide hover effect on touch devices if (Modernizr.touch) { $(".projectThumbnailHover").css("display", "none"); $(".projectThumbnailHover").css("visibility", "hidden"); $(".projectThumbnail").unbind("mouseenter"); $(".projectThumbnail").unbind("mouseleave"); } // Page navigation var isWorkCurrentPage = true; var isAboutCurrentPage = false; $("#logoDetailView").click(function() { window.location = "../../index.html"; }); $("#workPage, #logo").click(function() { if(!isWorkCurrentPage) { isWorkCurrentPage = true; isAboutCurrentPage = false; $("#workPage").attr("class", "currentPage"); $("#aboutPage").removeClass("currentPage"); $("#about").fadeOut(500, function() { $("#work").fadeIn(500); }); } }); $("#aboutPage").click(function() { if(!isAboutCurrentPage) { isAboutCurrentPage = true; isWorkCurrentPage = false; $("#aboutPage").attr("class", "currentPage"); $("#workPage").removeClass("currentPage"); $("#work").fadeOut(500, function() { $("#about").fadeIn(500); }); } }); // Make Work page current page $("#workPage").attr("class", "currentPage"); // Hide About page //$("#about").css("display", "none"); $("#about").fadeOut(0); // For site fade site in $(".container").css("display", "none"); }); // Remove site preloader after site is loaded $(window).load(function() { $('#sitePreloader').delay(200).fadeOut(500, function() { $(this).remove(); }); // Fade site in $(".container").delay(700).fadeIn(500); }); // Portfolio slider setup jQuery(document).ready(function($) { var sliderProps = { autoScaleSlider: true, autoScaleSliderWidth: 460, autoScaleSliderHeight: 284, captionShowEffects: '', controlNavEnabled: false, keyboardNavEnabled: true, directionNavEnabled: false, startSlideIndex: 0, imageScaleMode: 'fill' }, openedProjectInfo, isAnimating = false, currOpenProject; function closeOpenedProject(el) { openedProjectInfo.slideUp(900); openedProjectInfo.parent().find('.portfolioSlider').fadeOut(); openedProjectInfo = false; if(el && el.length) { el.css('visibility', 'visible'); } } $(".projectThumbnail").click(function(e) { if(isAnimating) { return; } isAnimating = true; var firstImgLoaded = false, projectEl = $(this).parent('.project'), projectNav = projectEl.find('.projectNav'), // projectInfo = projectEl.find('.projectInfo'), // newOpenProjectInfo = projectEl.find(".projectInfo"), currEl = $(this).find(".thumbnailImage"); if( !projectEl.data('slider-inited') ) { var portfolioSliderData = projectEl.find('.portfolioSliderData'), imgPreloaderOverlay; if(portfolioSliderData.length > 0) { imgPreloaderOverlay = $('
'); projectEl.append(imgPreloaderOverlay); portfolioSliderData .addClass('portfolioSlidesContainer') .wrap($('
')) .find('li').addClass('portfolioSlide'); var sliderEl = projectEl.find('.portfolioSlider'); currEl.clone().addClass('portfolioImage myImage').appendTo(sliderEl.find('li').eq(0).removeAttr('data-src')); var imgLoadCounter = 0; var sliderInstance = sliderEl.portfolioSlider(sliderProps).data('portfolioSlider'); var numSlides = sliderInstance.numSlides; // Fixes bug when resizing window on About page $("#logo, #workPage").click(function() { function bugFix() { sliderInstance.updateSliderSize(); $(".projectThumbnailHover").fadeOut(800); } setTimeout(bugFix, 710); }); //var currItemCounter = projectNav.find('.projectNavCounter'), var currItemCounter = projectInfo.find('.projectNavCounter'), arrowNext = projectNav.find('.projectNavButtons .next'), arrowPrev = projectNav.find('.projectNavButtons .prev'), arrowPrevBlocked = false, arrowNextBlocked = false; function updateNextPrevButtons() { if(sliderInstance.currentSlideId <= 0) { arrowPrev.addClass('projectNavInactive'); arrowPrevBlocked = true; } else { arrowPrev.removeClass('projectNavInactive'); arrowPrevBlocked = false; } if(sliderInstance.currentSlideId >= numSlides - 1) { arrowNext.addClass('projectNavInactive'); arrowNextBlocked = true; } else { arrowNext.removeClass('projectNavInactive'); arrowNextBlocked = false; } } sliderInstance.settings.beforeSlideChange = function() { currItemCounter.text( (sliderInstance.currentSlideId + 1) + ' of ' + numSlides ); updateNextPrevButtons(); }; arrowNext.click(function() { if(!arrowNextBlocked) { sliderInstance.next(); } }); arrowPrev.click(function() { if(!arrowPrevBlocked) { sliderInstance.prev(); } }); sliderInstance.settings.beforeSlideChange.call(); updateNextPrevButtons(); projectEl.data('slider-inited', true); imgPreloaderOverlay.css({ width: currEl.width(), height: currEl.height() }).fadeIn(); sliderInstance.settings.imgLoadComplete = function() { imgLoadCounter++; if(imgLoadCounter >= 2) { sliderInstance.settings.imgLoadComplete = false; setTimeout(function() { //sliderInstance.updateSliderSize() sliderInstance.goTo(1); isAnimating = false; currEl.css('visibility', 'hidden'); imgPreloaderOverlay.stop().fadeOut(); }, 400); } }; } else { if(projectNav.length > 0) { var currItemCounter = projectInfo.find('.projectNavCounter'), arrowNext = projectNav.find('.projectNavButtons .next'), arrowPrev = projectNav.find('.projectNavButtons .prev'), arrowPrevBlocked = false, arrowNextBlocked = false; arrowNext.addClass('projectNavInactive'); arrowPrev.addClass('projectNavInactive'); } projectEl.data('slider-inited', true); isAnimating = false; } } else { var sliderEl = projectEl.find('.portfolioSlider'); if(sliderEl.length > 0) { sliderEl.data('portfolioSlider').goToSilent(0); imgPreloaderOverlay = projectEl.find('.first-img-preloader'); imgPreloaderOverlay.css({ width: currEl.width(), height: currEl.height() }).fadeIn(); setTimeout(function() { sliderEl.show(); setTimeout(function() { currEl.css({'visibility': 'hidden'}); imgPreloaderOverlay.stop().fadeOut(); sliderEl.data('portfolioSlider').isAnimating = false; sliderEl.data('portfolioSlider').goTo(1); isAnimating = false; }, 400); }, 450); } else { isAnimating = false; } } if(openedProjectInfo) { if(newOpenProjectInfo.is(openedProjectInfo)) { closeOpenedProject(currOpenProject.find(".thumbnailImage")); currOpenProject.find(".projectThumbnailHover").fadeOut(800, function(){currOpenProject.find(".projectThumbnailHover").css("visibility", "visible")}); return false; } else { closeOpenedProject(currOpenProject.find(".thumbnailImage")); currOpenProject.find(".projectThumbnailHover").fadeOut(800, function(){currOpenProject.find(".projectThumbnailHover").css("visibility", "visible")}); } } currOpenProject =projectEl; openedProjectInfo = newOpenProjectInfo.stop().delay(200).slideDown(900).data('project-open', true); currOpenProject.find(".projectThumbnailHover").fadeOut(200, function(){currOpenProject.find(".projectThumbnailHover").css("visibility", "hidden")}); }); $(".closeButton, #aboutPage, #logo").click(function() { // Add a delay to fix weird issue with resizing About page function closeSlider() { closeOpenedProject(currOpenProject.find(".thumbnailImage")); currOpenProject.find(".projectThumbnailHover").css("visibility", "visible"); } //setTimeout(closeSlider, 400); setTimeout(closeSlider, 1); }); });