185 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			185 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /*
 | |
| 	Phantom by HTML5 UP
 | |
| 	html5up.net | @ajlkn
 | |
| 	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
 | |
| */
 | |
| 
 | |
| (function($) {
 | |
| 
 | |
| 	var	$window = $(window),
 | |
| 		$body = $('body');
 | |
| 
 | |
| 	// Breakpoints.
 | |
| 		breakpoints({
 | |
| 			xlarge:   [ '1281px',  '1680px' ],
 | |
| 			large:    [ '981px',   '1280px' ],
 | |
| 			medium:   [ '737px',   '980px'  ],
 | |
| 			small:    [ '481px',   '736px'  ],
 | |
| 			xsmall:   [ '361px',   '480px'  ],
 | |
| 			xxsmall:  [ null,      '360px'  ]
 | |
| 		});
 | |
| 
 | |
| 	// Play initial animations on page load.
 | |
| 		$window.on('load', function() {
 | |
| 			window.setTimeout(function() {
 | |
| 				$body.removeClass('is-preload');
 | |
| 			}, 100);
 | |
| 		});
 | |
| 
 | |
| 	// Touch?
 | |
| 		if (browser.mobile)
 | |
| 			$body.addClass('is-touch');
 | |
| 
 | |
| 	// Forms.
 | |
| 		var $form = $('form');
 | |
| 
 | |
| 		// Auto-resizing textareas.
 | |
| 			$form.find('textarea').each(function() {
 | |
| 
 | |
| 				var $this = $(this),
 | |
| 					$wrapper = $('<div class="textarea-wrapper"></div>'),
 | |
| 					$submits = $this.find('input[type="submit"]');
 | |
| 
 | |
| 				$this
 | |
| 					.wrap($wrapper)
 | |
| 					.attr('rows', 1)
 | |
| 					.css('overflow', 'hidden')
 | |
| 					.css('resize', 'none')
 | |
| 					.on('keydown', function(event) {
 | |
| 
 | |
| 						if (event.keyCode == 13
 | |
| 						&&	event.ctrlKey) {
 | |
| 
 | |
| 							event.preventDefault();
 | |
| 							event.stopPropagation();
 | |
| 
 | |
| 							$(this).blur();
 | |
| 
 | |
| 						}
 | |
| 
 | |
| 					})
 | |
| 					.on('blur focus', function() {
 | |
| 						$this.val($.trim($this.val()));
 | |
| 					})
 | |
| 					.on('input blur focus --init', function() {
 | |
| 
 | |
| 						$wrapper
 | |
| 							.css('height', $this.height());
 | |
| 
 | |
| 						$this
 | |
| 							.css('height', 'auto')
 | |
| 							.css('height', $this.prop('scrollHeight') + 'px');
 | |
| 
 | |
| 					})
 | |
| 					.on('keyup', function(event) {
 | |
| 
 | |
| 						if (event.keyCode == 9)
 | |
| 							$this
 | |
| 								.select();
 | |
| 
 | |
| 					})
 | |
| 					.triggerHandler('--init');
 | |
| 
 | |
| 				// Fix.
 | |
| 					if (browser.name == 'ie'
 | |
| 					||	browser.mobile)
 | |
| 						$this
 | |
| 							.css('max-height', '10em')
 | |
| 							.css('overflow-y', 'auto');
 | |
| 
 | |
| 			});
 | |
| 
 | |
| 	// Menu.
 | |
| 		var $menu = $('#menu');
 | |
| 
 | |
| 		$menu.wrapInner('<div class="inner"></div>');
 | |
| 
 | |
| 		$menu._locked = false;
 | |
| 
 | |
| 		$menu._lock = function() {
 | |
| 
 | |
| 			if ($menu._locked)
 | |
| 				return false;
 | |
| 
 | |
| 			$menu._locked = true;
 | |
| 
 | |
| 			window.setTimeout(function() {
 | |
| 				$menu._locked = false;
 | |
| 			}, 350);
 | |
| 
 | |
| 			return true;
 | |
| 
 | |
| 		};
 | |
| 
 | |
| 		$menu._show = function() {
 | |
| 
 | |
| 			if ($menu._lock())
 | |
| 				$body.addClass('is-menu-visible');
 | |
| 
 | |
| 		};
 | |
| 
 | |
| 		$menu._hide = function() {
 | |
| 
 | |
| 			if ($menu._lock())
 | |
| 				$body.removeClass('is-menu-visible');
 | |
| 
 | |
| 		};
 | |
| 
 | |
| 		$menu._toggle = function() {
 | |
| 
 | |
| 			if ($menu._lock())
 | |
| 				$body.toggleClass('is-menu-visible');
 | |
| 
 | |
| 		};
 | |
| 
 | |
| 		$menu
 | |
| 			.appendTo($body)
 | |
| 			.on('click', function(event) {
 | |
| 				event.stopPropagation();
 | |
| 			})
 | |
| 			.on('click', 'a', function(event) {
 | |
| 
 | |
| 				var href = $(this).attr('href');
 | |
| 
 | |
| 				event.preventDefault();
 | |
| 				event.stopPropagation();
 | |
| 
 | |
| 				// Hide.
 | |
| 					$menu._hide();
 | |
| 
 | |
| 				// Redirect.
 | |
| 					if (href == '#menu')
 | |
| 						return;
 | |
| 
 | |
| 					window.setTimeout(function() {
 | |
| 						window.location.href = href;
 | |
| 					}, 350);
 | |
| 
 | |
| 			})
 | |
| 			.append('<a class="close" href="#menu">Close</a>');
 | |
| 
 | |
| 		$body
 | |
| 			.on('click', 'a[href="#menu"]', function(event) {
 | |
| 
 | |
| 				event.stopPropagation();
 | |
| 				event.preventDefault();
 | |
| 
 | |
| 				// Toggle.
 | |
| 					$menu._toggle();
 | |
| 
 | |
| 			})
 | |
| 			.on('click', function(event) {
 | |
| 
 | |
| 				// Hide.
 | |
| 					$menu._hide();
 | |
| 
 | |
| 			})
 | |
| 			.on('keydown', function(event) {
 | |
| 
 | |
| 				// Hide on escape.
 | |
| 					if (event.keyCode == 27)
 | |
| 						$menu._hide();
 | |
| 
 | |
| 			});
 | |
| 
 | |
| })(jQuery); |