/*-------------------------------------------------------------------------
Theme Name: EGO
For any questions concerning this theme please refer to documention or
our forum at support.udfrance.com.
/*------------------------------------------------------------------------
//GENERAL FUNCTONS ///////////////////////////////////////////////////////
-------------------------------------------------------------------------*/
jQuery(document).ready(function($){
/*vars used throughout*/
var wh,
scrollSpeed = parseInt(udt_global_vars.scroll_speed,10),
parallaxSpeedFactor = 0.6,
scrollEase = 'easeOutExpo',
targetSection,
sectionLink = 'a.navigateTo',
menuLinkStr = '.menu ul li a',
menuLink = $('.menu ul li a'),
section = $('.section'),
toggleMenu =$('.mobileMenuToggle'),
foliothumb = $('.folio-thumb'),
thumbW,
thumbH,
thumbCaption,
target,
hoverSpeed=500,
hoverEase='easeOutExpo';
//INIT --------------------------------------------------------------------------------/
if(isMobile === true) {
$('.header').addClass('mobileHeader'); //add mobile header class
} else {
$('.section').addClass('desktop');
$('.teaser').addClass('fixed-desktop');
}
//HOMEPAGE SPECIFIC -----------------------------------------------------------------/
function sliderHeight(){
wh = $(window).height();
$('#homepage').css({height:wh});
}
sliderHeight();
$('#wrapper, #footer').show();
var lH = $('.epic-logo').height();
var lW = $('.epic-logo').width();
$('.epic-logo').css({marginTop:-(lH/2),marginLeft:-(lW/2)});
$('.epic-logo').hover(function() {
if(isMobile === true) {
return false;
}
$(this).animate({width:lH+50,height:lW+50,marginLeft:-((lH+50)/2),marginTop:-((lW+50)/2)},{queue:false});
},
function() {
if(isMobile === true) {
return false;
}
$(this).animate({width:lH,height:lW,marginLeft:-lH/2,marginTop:-lW/2},{queue:false});
});
//PARALLAX ----------------------------------------------------------------------------/
$(window).bind('load', function() {
parallaxInit();
});
function parallaxInit(){
if(isMobile === true) {
return false;
}
$('.teaser').each(function() {
$(this).parallax();
});
/*add as necessary*/
}
//PAGE SPECIFIC ---------------------------------------------------------------------/
/*page scrolling
-------------------*/
$(document).on('click', '.epicSlider .epic-logo a', function(event) {
//kill slider timer
$.fn.epicSlider.killTimer();
//get current
targetSection = $(this).attr('href').split("#")[1];
if(!targetSection || targetSection=='') {
return;
}
targetSection = '#'+targetSection;
//get pos of target section
var targetOffset = Math.floor($(targetSection).offset().top+1);
//scroll
$('html,body').animate({scrollTop: targetOffset}, scrollSpeed, scrollEase, function() {
/*ios5 menu fix*/
if(iOS5===true) {
$('.header.mobileHeader').animate({position:'absolute',top:$(window).scrollTop()},1);
}
});
return false;
//event.preventDefault();
});
$(document).on('click', sectionLink+','+menuLinkStr, function(event) {
//kill slider timer
$.fn.epicSlider.killTimer();
//get current
targetSection = $(this).attr('href').split("#")[1];
if(!targetSection || targetSection=='') {
return;
}
targetSection = '#'+targetSection;
//get pos of target section
var targetOffset = Math.floor($(targetSection).offset().top+1);
//scroll
$('html,body').animate({scrollTop: targetOffset}, scrollSpeed, scrollEase, function() {
/*ios5 menu fix*/
if(iOS5===true) {
$('.header.mobileHeader').animate({position:'absolute',top:$(window).scrollTop()},1);
}
});
return false;
});
/*nav handling
-------------------*/
$(function(){
section.waypoint({
handler: function(event, direction) {
var activeSection = $(this);
if (direction === "up") {
activeSection = activeSection.prev();
}
var activeMenuLink = $('.menu ul li a[href$=#' + activeSection.attr('id') + ']');
menuLink.parent('li').removeClass('current_page_item current-menu-item');
activeMenuLink.parent('li').addClass('current_page_item current-menu-item');
},
offset: '35%' //when it should switch on consecutive page
});
});
/*nav reveal
-------------------*/
$(window).bind('scroll', function(){
if(isMobile === false){
desktopMenu();
} else {
mobileMenu();
}
});
//desktop menu
function desktopMenu(){
//reveal
if ($(window).scrollTop() >= wh){
if(!$('.header-main').is(':animated')) {
$('.header-main').stop(true,true).fadeIn();
/*push elements out of view when scrolling*/
if(isMobile !== true) {
$('.epic-graphic, .epic-caption,#epic-navigation').css({position:'absolute'});
}
}
} else {
if(!$('.header-main').is(':animated')) {
$('.header-main').stop(true,true).fadeOut();
if(isMobile !== true) {
$('.epic-graphic, .epic-caption,#epic-navigation').css({position:'fixed'});
}
}
}
}
//mobile menu
function mobileMenu(){
//reveal
if ($(window).scrollTop() <= wh) {
$('.header-main').hide();
} else {
$('.header-main').show();
}
$('.header').css({top:'0px'});
$('.header.mobileHeader').css({position:'fixed'});
}
//ROLLOVER SPECIFIC ---------------------------------------------------------------------/
/*folio
-------------------*/
foliothumb.on({
mouseenter: function () {
//check if device is mobile
//or within an inactive filter category
//or if its video content in which case do nothing
if(isMobile === true) {
return false;
}
thumbW = foliothumb.find('a').find('img').width();
thumbH = foliothumb.find('a').find('img').height();
//get refrences needed
thumbCaption = $(this).find('a').attr('title');
//add rolloverscreen
if(!$(this).find('a').find('div').hasClass('folio-thumb-rollover')) {
$(this).find('a').append('');
}
//set it to the image size and fade in
var hoverScreen = $('.folio-thumb-rollover');
hoverScreen.css({width:thumbW,height:thumbH});
//make sure caption is filled out
if (typeof thumbCaption !== 'undefined' && thumbCaption !== false && $(this).find(hoverScreen).is(':empty')) {
//construct rollover & animate
$(this).find(hoverScreen).append(''+thumbCaption+'
');
target = $(this).find(hoverScreen);
target.stop().animate({opacity:1},hoverSpeed, hoverEase);
}
},
mouseleave: function () {
if(isMobile === true) {
return false;
}
//animate out
$(this).find('.folio-thumb-rollover').animate({opacity:0},hoverSpeed,'linear',function(){
//delete rollover
$(this).remove();
});
}
});
//WINDOW EVENTS ---------------------------------------------------------------------/
$(window).bind('resize',function() {
//Update slider height
sliderHeight();
});
});