359 lines
6.5 KiB
JavaScript
Executable File
359 lines
6.5 KiB
JavaScript
Executable File
/* JS Document */
|
|
|
|
/******************************
|
|
|
|
[Table of Contents]
|
|
|
|
1. Vars and Inits
|
|
|
|
|
|
|
|
******************************/
|
|
|
|
jQuery(document).ready(function($)
|
|
{
|
|
"use strict";
|
|
|
|
/*
|
|
|
|
1. Vars and Inits
|
|
|
|
*/
|
|
|
|
var header = $('.header');
|
|
var topNav = $('.top_nav')
|
|
var hamburger = $('.hamburger_container');
|
|
var menu = $('.hamburger_menu');
|
|
var menuActive = false;
|
|
var hamburgerClose = $('.hamburger_close');
|
|
var fsOverlay = $('.fs_menu_overlay');
|
|
var map;
|
|
|
|
setHeader();
|
|
|
|
$(window).on('resize', function()
|
|
{
|
|
setHeader();
|
|
});
|
|
|
|
$(document).on('scroll', function()
|
|
{
|
|
setHeader();
|
|
});
|
|
|
|
initMenu();
|
|
initGoogleMap();
|
|
|
|
function setHeader()
|
|
{
|
|
if(window.innerWidth < 992)
|
|
{
|
|
if($(window).scrollTop() > 100)
|
|
{
|
|
header.css({'top':"0"});
|
|
}
|
|
else
|
|
{
|
|
header.css({'top':"0"});
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if($(window).scrollTop() > 100)
|
|
{
|
|
header.css({'top':"-50px"});
|
|
}
|
|
else
|
|
{
|
|
header.css({'top':"0"});
|
|
}
|
|
}
|
|
if(window.innerWidth > 991 && menuActive)
|
|
{
|
|
closeMenu();
|
|
}
|
|
}
|
|
|
|
function initMenu()
|
|
{
|
|
if(hamburger.length)
|
|
{
|
|
hamburger.on('click', function()
|
|
{
|
|
if(!menuActive)
|
|
{
|
|
openMenu();
|
|
}
|
|
});
|
|
}
|
|
|
|
if(fsOverlay.length)
|
|
{
|
|
fsOverlay.on('click', function()
|
|
{
|
|
if(menuActive)
|
|
{
|
|
closeMenu();
|
|
}
|
|
});
|
|
}
|
|
|
|
if(hamburgerClose.length)
|
|
{
|
|
hamburgerClose.on('click', function()
|
|
{
|
|
if(menuActive)
|
|
{
|
|
closeMenu();
|
|
}
|
|
});
|
|
}
|
|
|
|
if($('.menu_item').length)
|
|
{
|
|
var items = document.getElementsByClassName('menu_item');
|
|
var i;
|
|
|
|
for(i = 0; i < items.length; i++)
|
|
{
|
|
if(items[i].classList.contains("has-children"))
|
|
{
|
|
items[i].onclick = function()
|
|
{
|
|
this.classList.toggle("active");
|
|
var panel = this.children[1];
|
|
if(panel.style.maxHeight)
|
|
{
|
|
panel.style.maxHeight = null;
|
|
}
|
|
else
|
|
{
|
|
panel.style.maxHeight = panel.scrollHeight + "px";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
function openMenu()
|
|
{
|
|
menu.addClass('active');
|
|
// menu.css('right', "0");
|
|
fsOverlay.css('pointer-events', "auto");
|
|
menuActive = true;
|
|
}
|
|
|
|
function closeMenu()
|
|
{
|
|
menu.removeClass('active');
|
|
fsOverlay.css('pointer-events', "none");
|
|
menuActive = false;
|
|
}
|
|
|
|
function initGoogleMap()
|
|
{
|
|
var myLatlng = new google.maps.LatLng(42.373122,-71.112387);
|
|
var mapOptions =
|
|
{
|
|
center: myLatlng,
|
|
zoom: 16,
|
|
mapTypeId: google.maps.MapTypeId.ROADMAP,
|
|
draggable: true,
|
|
scrollwheel: false,
|
|
zoomControl: true,
|
|
zoomControlOptions:
|
|
{
|
|
position: google.maps.ControlPosition.RIGHT_CENTER
|
|
},
|
|
mapTypeControl: false,
|
|
scaleControl: false,
|
|
streetViewControl: false,
|
|
rotateControl: false,
|
|
fullscreenControl: true,
|
|
styles:
|
|
[
|
|
{
|
|
"elementType": "geometry",
|
|
"stylers": [
|
|
{
|
|
"color": "#f5f5f5"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"elementType": "labels.icon",
|
|
"stylers": [
|
|
{
|
|
"visibility": "off"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"elementType": "labels.text.fill",
|
|
"stylers": [
|
|
{
|
|
"color": "#616161"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"elementType": "labels.text.stroke",
|
|
"stylers": [
|
|
{
|
|
"color": "#f5f5f5"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "administrative.land_parcel",
|
|
"elementType": "labels.text.fill",
|
|
"stylers": [
|
|
{
|
|
"color": "#bdbdbd"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "poi",
|
|
"elementType": "geometry",
|
|
"stylers": [
|
|
{
|
|
"color": "#eeeeee"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "poi",
|
|
"elementType": "labels.text.fill",
|
|
"stylers": [
|
|
{
|
|
"color": "#757575"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "poi.park",
|
|
"elementType": "geometry",
|
|
"stylers": [
|
|
{
|
|
"color": "#e5e5e5"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "poi.park",
|
|
"elementType": "labels.text.fill",
|
|
"stylers": [
|
|
{
|
|
"color": "#9e9e9e"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "road",
|
|
"elementType": "geometry",
|
|
"stylers": [
|
|
{
|
|
"color": "#ffffff"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "road.arterial",
|
|
"elementType": "labels.text.fill",
|
|
"stylers": [
|
|
{
|
|
"color": "#757575"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "road.highway",
|
|
"elementType": "geometry",
|
|
"stylers": [
|
|
{
|
|
"color": "#dadada"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "road.highway",
|
|
"elementType": "labels.text.fill",
|
|
"stylers": [
|
|
{
|
|
"color": "#616161"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "road.local",
|
|
"elementType": "labels.text.fill",
|
|
"stylers": [
|
|
{
|
|
"color": "#9e9e9e"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "transit.line",
|
|
"elementType": "geometry",
|
|
"stylers": [
|
|
{
|
|
"color": "#e5e5e5"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "transit.station",
|
|
"elementType": "geometry",
|
|
"stylers": [
|
|
{
|
|
"color": "#eeeeee"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "water",
|
|
"elementType": "geometry",
|
|
"stylers": [
|
|
{
|
|
"color": "#c9c9c9"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"featureType": "water",
|
|
"elementType": "labels.text.fill",
|
|
"stylers": [
|
|
{
|
|
"color": "#9e9e9e"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
|
|
// Initialize a map with options
|
|
map = new google.maps.Map(document.getElementById('map'), mapOptions);
|
|
|
|
// Use an image for a marker
|
|
var image = 'images/map_marker.png';
|
|
var marker = new google.maps.Marker(
|
|
{
|
|
position: new google.maps.LatLng(42.373122,-71.112387),
|
|
map: map,
|
|
icon: image
|
|
});
|
|
|
|
// Re-center map after window resize
|
|
google.maps.event.addDomListener(window, 'resize', function()
|
|
{
|
|
setTimeout(function()
|
|
{
|
|
google.maps.event.trigger(map, "resize");
|
|
map.setCenter(myLatlng);
|
|
}, 1400);
|
|
});
|
|
}
|
|
}); |